Nothing Special   »   [go: up one dir, main page]

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

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

Info

Publication number
JP4411545B2
JP4411545B2 JP2005505580A JP2005505580A JP4411545B2 JP 4411545 B2 JP4411545 B2 JP 4411545B2 JP 2005505580 A JP2005505580 A JP 2005505580A JP 2005505580 A JP2005505580 A JP 2005505580A JP 4411545 B2 JP4411545 B2 JP 4411545B2
Authority
JP
Japan
Prior art keywords
information processing
processing apparatus
information
instant message
service
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
JP2005505580A
Other languages
English (en)
Other versions
JPWO2004012087A1 (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
Publication of JPWO2004012087A1 publication Critical patent/JPWO2004012087A1/ja
Application granted granted Critical
Publication of JP4411545B2 publication Critical patent/JP4411545B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • 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/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W68/00User notification, e.g. alerting and paging, for incoming communication, change of service or the like
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W92/00Interfaces specially adapted for wireless communication networks
    • H04W92/16Interfaces between hierarchically similar devices
    • H04W92/18Interfaces between hierarchically similar devices between terminal devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Between Computers (AREA)

Description

本発明は、プログラム、情報処理方法および装置に関し、特に、能力が異なる装置間で確実に接続ができるようにしたプログラム、情報処理方法および装置に関する。
最近、インターネットが普及し、インターネットを利用して各種のデータを相手側と授受するユーザが増えてきた。
しかしながら、従来、例えば、相手側の装置に対して所定の画像を伝送しようとした場合、相手側の装置の能力が自分自身の装置の能力と異なるため、実質的には、相互に接続することができず、結局、画像データを伝送することができなくなるといった事態が発生することがあった。
これを防ぐには、ユーザは、相手側の装置の能力を事前に確認する必要がある。
例えば、ストリーミングを行う際に、サーバとクライアント間でストリームのパラメータを交換する方法として、RTSP(Real Time Streaming Protocol)(Real Time Streaming Protocol,IETF RFC 2326,April 1998,<http://www.ietf.org/rfc/rfc2326.txt>)には、SDP(Session Description Protocol)(SDP:Session Description Protocol,IETF RFC 2327,April 1998,<http://www.ietf.org/rfc/rfc2327.txt>)を用いることが記述されている。
しかしながら、これらには、パラメータを交換するための具体的な手順が開示されておらず、結局、データを確実に相互に授受することが困難である課題があった。
本発明は、このような状況に鑑みてなされたものであり、迅速かつ確実に、そして、ユーザに負担をかけることなく、相手側の装置の能力に影響されずに、相手側の装置と確実に接続することができるようにして、ユーザビリティを向上させるようにするものである。
本発明の第1のプログラムは、インスタントメッセージのクライアントである第1の情報処理装置に対して、提供可能なサービスを識別する識別情報を、インスタントメッセージのプレゼンス機能を用いて、ネットワーク上の、インスタントメッセージのサーバである第2の情報処理装置を介して通知する第1の通知ステップと、第1の情報処理装置からの要求に基づいて、第1の情報処理装置に対して、提供可能なサービスに関する詳細情報を、インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、第2の情報処理装置を介して通知する第2の通知ステップと、第1の情報処理装置からの要求に基づいて、第1の情報処理装置が第2の情報処理装置を介さずに接続するための接続情報を、インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、第2の情報処理装置を介して第1の情報処理装置に通知する第3の通知ステップとを含むことを特徴とする。
登録された第1の情報処理装置から第2の情報処理装置を介さずに接続情報に基づくアクセスを受けた場合、そのアクセスを受け付ける受け付けステップをさらに含むようにすることができる。
前記第1の通知ステップは、サービスを提供する提供者としてのエンティティを識別する提供者エンティティ識別子をさらに通知することができる。
前記第1の情報処理装置を、提供可能なサービスに関して登録することの要求が、提供者エンティティ識別子に対応する、サービスを利用する利用者としてのエンティティを識別する利用者エンティティ識別子とともに、第1の情報処理装置から送信されてきたとき、提供者エンティティ識別子と利用者エンティティ識別子を対応して登録する登録ステップをさらに含むようにすることができる。
前記利用者エンティティ識別子に対応するエンティティに対して、サービスの利用を勧誘する勧誘情報を送信する第1の送信ステップをさらに含むようにすることができる。
前記第1の送信ステップは、勧誘情報を、インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて送信することができる。
前記第1の送信ステップは、登録ステップの処理により登録された利用者エンティティ識別子に対応する利用者に、勧誘情報を送信することができる。
前記第1の送信ステップの処理により、勧誘情報が送信された後、サービスの利用の勧誘をキャンセルするキャンセル情報を送信する第2の送信ステップをさらに含むようにすることができる。
前記第2の送信ステップは、キャンセル情報を、インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて送信することができる。
前記第2の送信ステップは、キャンセル情報に、キャンセル情報を識別するためのリファレンス番号、提供者エンティティ識別子、および利用者エンティティ識別子を含めるようにすることができる。
本発明の第1の情報処理方法は、情報処理装置が、インスタントメッセージのクライアントである第1の他の情報処理装置に対して、提供可能なサービスを識別する識別情報を、インスタントメッセージのプレゼンス機能を用いて、ネットワーク上の、インスタントメッセージのサーバである第2の他の情報処理装置を介して通知する第1の通知ステップと、情報処理装置が、第1の他の情報処理装置からの要求に基づいて、第1の他の情報処理装置に対して、提供可能なサービスに関する詳細情報を、インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、第2の他の情報処理装置を介して通知する第2の通知ステップと、情報処理装置が、第1の他の情報処理装置からの要求に基づいて、第1の他の情報処理装置が第2の他の情報処理装置を介さずに情報処理装置に接続するための接続情報を、インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、第2の他の情報処理装置を介して第1の他の情報処理装置に通知する第3の通知ステップとを含むことを特徴とする。
本発明の第1の情報処理装置は、インスタントメッセージのクライアントである第1の他の情報処理装置に対して、提供可能なサービスを識別する識別情報を、インスタントメッセージのプレゼンス機能を用いて、ネットワーク上の、インスタントメッセージのサーバである第2の他の情報処理装置を介して通知する第1の通知手段と、第1の他の情報処理装置からの要求に基づいて、第1の他の情報処理装置に対して、提供可能なサービスに関する詳細情報を、インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、第2の他の情報処理装置を介して通知する第2の通知手段と、第1の他の情報処理装置からの要求に基づいて、第1の他の情報処理装置が第2の他の情報処理装置を介さずに情報処理装置に接続するための接続情報を、インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、第2の他の情報処理装置を介して第1の他の情報処理装置に通知する第3の通知手段を備えることを特徴とする。
本発明の第2のプログラムは、インスタントメッセージのクライアントである第1の情報処理装置から、提供可能なサービスを識別する識別情報を、インスタントメッセージのプレゼンス機能を用いて、ネットワーク上の、インスタントメッセージのサーバである第2の情報処理装置を介して受信する第1の受信ステップと、第1の情報処理装置に対して、提供可能なサービスに関する詳細情報の送信を、インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、第2の情報処理装置を介して要求する第1の要求ステップと、第1の情報処理装置に対して、提供可能なサービスに関して自分自身を登録するように、インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、第2の情報処理装置を介して要求する第2の要求ステップと、第1の情報処理装置に対して、提供可能なサービスの利用に関する情報を、インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、第2の情報処理装置を介して送信する第1の送信ステップと、第2の情報処理装置を介さずに自分自身に接続するための接続情報を、インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、第1の情報処理装置から、第2の情報処理装置を介して受信する第2の受信ステップとを含むことを特徴とする。
前記第2の情報処理装置を介さずに接続情報に基づいてアクセスするアクセスステップをさらに含むようにすることができる。
前記第1の受信ステップは、識別情報とともに、サービスを提供する提供者としてのエンティティを識別する提供者エンティティ識別子をさらに受信し、提供者エンティティ識別子と、サービスを利用する利用者としてのエンティティを識別する利用者エンティティ識別子を対応して記憶する記憶ステップをさらに含むようにすることができる。
第1の情報処理装置が送信したサービスの利用を勧誘する勧誘情報を受信する第3の受信ステップをさらに含むようにすることができる。
前記第3の受信ステップの処理により勧誘情報が受信された場合、受け入れまたは拒否の情報を、第1の情報処理装置に送信する第2の送信ステップをさらに含むようにすることができる。
前記第2の送信ステップの送信は、インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて行うようにすることができる。
第1の送信ステップは、第3の受信ステップが行われた場合、提供可能な前記サービスの利用に関する情報を、前記第2の送信ステップの処理により、前記受け入れの情報が送信された場合に送信することができる。
前記第1の送信ステップは、提供者エンティティ識別子、および利用者エンティティ識別子を含めるようにすることができる。
前記第2の送信ステップは、受け入れまたは拒否の情報に、受け入れまたは拒否の情報を識別するためのリファレンス番号、提供者エンティティ識別子、および利用者エンティティ識別子を含めるようにすることができる。
本発明の第2の情報処理方法は、情報処理装置が、インスタントメッセージのクライアントである第1の他の情報処理装置から、提供可能なサービスを識別する識別情報を、インスタントメッセージのプレゼンス機能を用いて、ネットワーク上の、インスタントメッセージのサーバである第2の他の情報処理装置を介して受信する第1の受信ステップと、情報処理装置が、第1の他の情報処理装置に対して、提供可能なサービスに関する詳細情報の送信を、インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、第2の他の情報処理装置を介して要求する第1の要求ステップと、情報処理装置が、第1の他の情報処理装置に対して、提供可能なサービスに関して情報処理装置を登録するように、インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、第2の他の情報処理装置を介して要求する第2の要求ステップと、情報処理装置が、第1の他の情報処理装置に対して、提供可能なサービスの利用に関する情報を、インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、第2の他の情報処理装置を介して送信する送信ステップと、情報処理装置が、第2の他の情報処理装置を介さずに情報処理装置に接続するための接続情報を、インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、第1の他の情報処理装置から、第2の他の情報処理装置を介して受信する第2の受信ステップとを含むことを特徴とする。
本発明の第2の情報処理装置は、インスタントメッセージのクライアントである第1の他の情報処理装置から、提供可能なサービスを識別する識別情報を、インスタントメッセージのプレゼンス機能を用いて、ネットワーク上の、インスタントメッセージのサーバである第2の他の情報処理装置を介して受信する第1の受信手段と、第1の他の情報処理装置に対して、提供可能なサービスに関する詳細情報の送信を、インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、第2の他の情報処理装置を介して要求する第1の要求手段と、第1の他の情報処理装置に対して、提供可能なサービスに関して情報処理装置を登録するように、インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、第2の他の情報処理装置を介して要求する第2の要求手段と、第1の他の情報処理装置に対して、提供可能なサービスの利用に関する情報を、インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、第2の他の情報処理装置を介して送信する送信手段と、第2の他の情報処理装置を介さずに情報処理装置に接続するための接続情報を、インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、第1の他の情報処理装置から、第2の他の情報処理装置を介して受信する第2の受信手段とを備えることを特徴とする。
本発明の第3のプログラムは、インスタントメッセージのクライアントである第1の情報処理装置に対して、提供可能なサービスを識別する識別情報を、インスタントメッセージのプレゼンス機能を用いて、ネットワーク上の、インスタントメッセージのサーバである第2の情報処理装置を介して通知する第1の通知ステップと、第1の情報処理装置からの要求に基づいて、第1の情報処理装置に対して、提供可能なサービスに関する詳細情報を、インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、第2の情報処理装置を介して通知する第2の通知ステップと、第1の情報処理装置からの要求に基づいて、第1の情報処理装置が第2の情報処理装置を介さずに自分自身に接続するための接続情報を、インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、第2の情報処理装置を介して第1の情報処理装置に通知する第3の通知ステップと、第1の情報処理装置から、識別情報を、インスタントメッセージのプレゼンス機能を用いて、第2の情報処理装置を介して受信する第1の受信ステップと、第1の情報処理装置に対して、提供可能なサービスに関する詳細情報の送信を、インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、第2の情報処理装置を介して要求する第1の要求ステップと、第1の情報処理装置に対して、提供可能なサービスに関して自分自身を登録するように、インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、第2の情報処理装置を介して要求する第2の要求ステップと、第1の情報処理装置に対して、提供可能なサービスの利用に関する情報を、インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、第2の情報処理装置を介して送信する送信ステップと、第2の情報処理装置を介さずに自分自身に接続するための接続情報を、第1の情報処理装置から、第2の情報処理装置を介して受信する第2の受信ステップとを含むことを特徴とする。
本発明の第3の情報処理方法は、情報処理装置が、インスタントメッセージのクライアントである第1の他の情報処理装置に対して、提供可能なサービスを識別する識別情報を、インスタントメッセージのプレゼンス機能を用いて、ネットワーク上の、インスタントメッセージのサーバである第2の他の情報処理装置を介して通知する第1の通知ステップと、情報処理装置が、第1の他の情報処理装置からの要求に基づいて、第1の他の情報処理装置に対して、提供可能なサービスに関する詳細情報を、インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、第2の他の情報処理装置を介して通知する第2の通知ステップと、情報処理装置が、第1の他の情報処理装置からの要求に基づいて、第1の他の情報処理装置が第2の他の情報処理装置を介さずに情報処理装置に接続するための接続情報を、インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、第2の他の情報処理装置を介して第1の他の情報処理装置に通知する第3の通知ステップと、情報処理装置が、第1の他の情報処理装置から、識別情報を、インスタントメッセージのプレゼンス機能を用いて、第2の他の情報処理装置を介して受信する第1の受信ステップと、情報処理装置が、第1の他の情報処理装置に対して、提供可能なサービスに関する詳細情報の送信を、インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、第2の他の情報処理装置を介して要求する第1の要求ステップと、情報処理装置が、第1の他の情報処理装置に対して、提供可能なサービスに関して情報処理装置を登録するように、インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、第2の他の情報処理装置を介して要求する第2の要求ステップと、情報処理装置が、第1の他の情報処理装置に対して、提供可能なサービスの利用に関する情報を、インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、第2の他の情報処理装置を介して送信する送信ステップと、情報処理装置が、第2の他の情報処理装置を介さずに情報処理装置に接続するための接続情報を、インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、第1の他の情報処理装置から、第2の他の情報処理装置を介して受信する第2の受信ステップとを含むことを特徴とする。
本発明の第3の情報処理装置は、インスタントメッセージのクライアントである第1の他の情報処理装置に対して、提供可能なサービスを識別する識別情報を、インスタントメッセージのプレゼンス機能を用いて、ネットワーク上の、インスタントメッセージのサーバである第2の他の情報処理装置を介して通知する第1の通知手段と、第1の他の情報処理装置からの要求に基づいて、第1の他の情報処理装置に対して、提供可能なサービスに関する詳細情報を、インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、第2の他の情報処理装置を介して通知する第2の通知手段と、第1の他の情報処理装置からの要求に基づいて、第1の他の情報処理装置が第2の他の情報処理装置を介さずに情報処理装置に接続するための接続情報を、インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、第2の他の情報処理装置を介して第1の他の情報処理装置に通知する第3の通知手段と、第1の他の情報処理装置から、識別情報を、インスタントメッセージのプレゼンス機能を用いて、第2の他の情報処理装置を介して受信する第1の受信手段と、第1の他の情報処理装置に対して、提供可能なサービスに関する詳細情報の送信を、インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、第2の他の情報処理装置を介して要求する第1の要求手段と、第1の他の情報処理装置に対して、提供可能なサービスに関して情報処理装置を登録するように、インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、第2の他の情報処理装置を介して要求する第2の要求手段と、第1の他の情報処理装置に対して、提供可能なサービスの利用に関する情報を、インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、第2の他の情報処理装置を介して送信する送信手段と、第2の他の情報処理装置を介さずに情報処理装置に接続するための接続情報を、インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、第1の他の情報処理装置から、第2の他の情報処理装置を介して受信する第2の受信手段とを備えることを特徴とする。
第1の本発明においては、インスタントメッセージのプレゼンス機能を用いて、識別情報が、ネットワーク上の、インスタントメッセージのサーバである第2の情報処理装置を介して、インスタントメッセージのクライアントである第1の情報処理装置に通知され、第1の情報処理装置からの要求に基づいて、詳細情報が、インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、第2の情報処理装置を介して第1の情報処理装置に通知され、さらに第1の情報処理装置からの要求に基づいて、接続情報が、インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、第2の情報処理装置を介して第1の情報処理装置に通知される。
第2の本発明においては、インスタントメッセージのクライアントである第1の情報処理装置から、提供可能なサービスを識別する識別情報が、インスタントメッセージのプレゼンス機能を用いて、ネットワーク上の、インスタントメッセージのサーバである第2の情報処理装置を介して受信され、第1の情報処理装置に対して、詳細情報の送信が、インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、第2の情報処理装置を介して要求され、さらに第1の情報処理装置に対して、提供可能なサービスに関して自分自身を登録するように、インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、第2の他の情報処理装置を介して要求される。また、第1の情報処理装置に対して、サービスの利用に関する情報が、インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、第2の情報処理装置を介して送信され、第2の情報処理装置を介さずに自分自身に接続するための接続情報が、インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、第1の情報処理装置から、第2の情報処理装置を介して受信される。
第3の本発明においては、インスタントメッセージのクライアントである第1の情報処理装置(第1の他の情報処理装置)に対して、提供可能なサービスを識別する識別情報が、インスタントメッセージのプレゼンス機能を用いて、ネットワーク上の、インスタントメッセージのサーバである第2の情報処理装置を介して通知され、第1の情報処理装置(第1の他の情報処理装置)からの要求に基づいて、提供可能なサービスに関する詳細情報が、インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、第2の情報処理装置を介して通知され、第1の情報処理装置(第1の他の情報処理装置)からの要求に基づいて、第1の情報処理装置が第2の情報処理装置を介さずに自分自身に接続するための接続情報が、インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、第2の情報処理装置を介して第1の情報処理装置に通知される。
さらに、第1の情報処理装置(第1の他の情報処理装置)から、インスタントメッセージのプレゼンス機能を用いて、第2の情報処理装置を介して識別情報が受信され、第1の情報処理装置(第1の他の情報処理装置)に対して、提供可能なサービスに関する詳細情報の送信が、インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、第2の情報処理装置を介して要求され、第1の情報処理装置(第1の他の情報処理装置)に対して、提供可能なサービスに関して自分自身を登録するように、インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、第2の情報処理装置を介して要求され、第1の情報処理装置(第1の他の情報処理装置)に対して、提供可能なサービスの利用に関する情報が、インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、第2の情報処理装置を介して送信され、第2の情報処理装置を介さずに情報処理装置に接続するための接続情報が、インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、第1の情報処理装置(第1の他の情報処理装置)から、第2の情報処理装置を介して受信される。
本発明によれば、情報処理装置の間でサービスを授受することが可能となる。特に、ユーザに負担をかけることなく、迅速かつ簡単に、能力が異なる装置間で、確実に接続し、サービスを授受することが可能となる。
図1は、本発明を適用したネットワークシステムの構成例を表している。このネットワークシステムにおいては、インターネット1を介して、メディアインスタントメッセージサーバ(Media IM Server)14に対して、ユーザ端末として、パーソナルコンピュータ11,12,並びにPDA(Personal Digital Assistants)13が接続されている。メディアIMサーバ14にはまた、アプリケーションサーバ15もインターネット1を介して接続されている。
パーソナルコンピュータ11には、ミドルウェアとしてメディアIMクライアント#1が実装されており、パーソナルコンピュータ12には、ミドルウェアとしてメディアIMクライアント#2が実装されている。同様に、PDA13には、ミドルウェアとしてメディアIMクライアント#3が実装されている。
アプリケーションサーバ15には、ミドルウェアとしてメディアIMクライアント#4が実装されている。アプリケーションサーバ15は、プリントサービス#1乃至プリントサービス#7を、アクセスしてきたユーザに対して提供する。
メディアIMサーバ14は、これらのメディアIMクライアント#1乃至メディアIMクライアント#4の相互のインスタントメッセージ処理を制御する。
図2は、ソフトウェアの構成を表している。上述したメディアIMクライアント#1乃至メディアIMクライアント#4は、図2において、メディアIMクライアントミドルウェア32として示されている。このメディアIMクライアントミドルウェア32は、IPネットワークトランスポート層31とAPI(Application Program Interface)33との間に配置されている。API33は、アプリケーション#1乃至アプリケーション#Nと、メディアIMクライアントミドルウェア32との間のインタフェース処理を実行する。メディアIMクライアントミドルウェア32は、API33とIPネットワークトランスポート層31とのインタフェース処理を実行する。
アプリケーション(Application)#1乃至アプリケーション#Nは、それぞれサービスエンティティを構成する。
このネットワークシステムにおいては、図3に示されるように、サービスを提供する側のアプリケーション(図3の例では、Application#1)がサービスプロバイダ(Service Provider)51とされ、そのサービスの提供を受ける側のアプリケーション(図3の例では、Application#n)が(サービスを消費する側が)サービスコンシューマ(Service Consumers)52とされる。
サービスプロバイダ51とサービスコンシューマ52は、対応するメディアIMクライアント#P1またはメディアIMクライアント#C1を介して、インスタントメッセージのプレゼンス機能、メッセージング機能、またはInfo/Query機能を用いて、接続のためのネゴシエーション処理を実行する。ネゴシエーションにより、相手側と接続が可能であることが確認された後、サービスプロバイダ51とサービスコンシューマ52は、ピアツーピア(P2P)で、接続処理を実行する。
サービスプロバイダ51とサービスコンシューマ52は、それぞれサービスエンティティを構成する。サービスエンティティは、そのものが1つのアプリケーションである場合もあれば、複数のサービスエンティティの集合が1つのアプリケーションを形成する場合もある。以下においては、簡単のため、1つのサービスエンティティが1つのアプリケーションに対応しているものとする。
次に、接続処理の詳細を図4乃至図7のフローチャートを参照して説明する。
ステップS1において、サービスプロバイダ51としてのアプリケーション#1は、名簿(Roster)に登録されている各メンバー(Buddy)に対して、自分自身が提供可能なサービスの種別を表すプロファイルスペースID(Profile Space ID)をアナウンスすることを、メディアIMクライアント#P1に指令する。メディアIMクライアント#P1は、ステップS2において、この指示を受け取ると、ステップS3において名簿に予め登録されているメンバーに対して、プロファイルスペースIDをプレゼンスによって通知する。
ここで、メンバー(Buddy)は、メディアIMサーバ14が提供するインスタントメッセージサービスにおいて、あるユーザ(または、メディアIMクライアント)に対するメッセージ通信の相手のことであり、メディアIMサーバ14に予め登録されているユーザIDや、ユーザIDに対応付けられたニックネーム等で表される情報である。
また、名簿(Roster)は、そのメンバー(Buddy)のリストであり、すなわち、ユーザ(またはメディアIMクライアント)が、メッセージ通信の相手として設定した他のユーザ(または、他のメディアIMクライアント)のユーザID(またはニックネーム)のリストである。この、ユーザ毎の名簿(Roster)は、メディアIMサーバ14において一元管理される。
例えば、メディアIMクライアント#P1のユーザがメディアIMクライアント#C1のユーザをメッセージ通信の相手として設定している場合、メディアIMクライアント#P1に対応する名簿には、メディアIMクライアント#C1のユーザ(ユーザID等)がメンバーとして登録されている。逆に、メディアIMクライアント#C1のユーザがメディアIMクライアント#P1のユーザをメッセージ通信の相手として設定している場合、メディアIMクライアント#C1に対応する名簿には、メディアIMクライアント#P1のユーザがメンバーとして登録されている。
このように、インスタントメッセージによるメッセージ通信を行う場合、互いをメンバーとして予め名簿に登録しておかなければならない。例えば、第1のユーザが、他のメディアIMクライアントの第2のユーザをメンバーとして名簿に登録しているが、第2のユーザが第1のユーザをメンバーとしてそのクライアントに登録してない場合、メッセージ通信を行うためには、第1のユーザは、メッセージ通信の前に第2のユーザにメンバーとして名簿に登録させる必要がある。
この名簿は、メディアIMクライアントよりユーザがメディアIMサーバ14にログイン(接続)すると、必要に応じてメディアIMサーバ14よりそのメディアIMクライアントに提供され、ディスプレイ等にGUI(Graphical User Interface)として表示される。その際、メディアIMサーバ14は、上述した名簿とともに、ユーザが目的のメンバーを容易に識別することができるようにするためのアイコンや、そのメンバーに関する情報(例えば、通信可能か否かを示す情報)であるプレゼンス等の情報をメディアIMクライアントに供給する。名簿等を供給されたメディアIMクライアントは、その名簿の各メンバーにアイコンやプレゼンスを関連付けて表示する。
なお、以上のような名簿を一元管理する専用のサーバを設けるようにしてももちろんよい。
なお、プロファイルスペースID並びにアプリケーションIDは、図1のネットワークシステムに示されるような、インスタントメッセージのプレゼンス機能、メッセージング機能、およびInfo/Query機能をベースとして、アプリケーションレベルでのプロファイルのネゴシエーションを実現するアプリケーションプラットフォームの運用者によって、予め登録され、管理されている。従って、サービスコンシューマ52は、そのIDに基づいて、その内容を特定することが可能となる。
図8は、パーソナルコンピュータ11において動作するMPEG4ストリーミングサーバアプリケーションを定義するためのプロファイルスペースの例を表している。同図に示されるように、プロファイルスペースは、そのパーソナルコンピュータにおいて提供されるサービスを表現するM次元の空間(スペース)であり、各プロファイルスペースを識別するためのIDであるプロファイルスペースIDとM次元のパラメータにより構成される。この例においては、プロファイルスペースIDは、「10000001」とされている。また、パラメータは、access method, bit rate(link speed), X scale, Y scale, audio codecにより構成されている。この例の場合、通信に用いられるプロトコルを表すaccess methodの値は、1(RTSP/TCP+RTP/UDP)または2(HTTP tunnelling)とされる。接続されている通信回線の速度を表すbit rateは、6k乃至512kbpsとされる。画面の横方向の大きさを表すX scaleは128pixel乃至352pixelとされ、また画面の縦方向の大きさを表すY scaleは96pixel乃至288pixelとされている。
ここで、プロファイルのaccess methodは、通信に用いられるプロトコルを表しており、例えば、番号1で表されるRTSP(Real Time Streaming Protocol)/TCP(Transmission Control Protocol)+RTP(Real Time Transport Protocol)/UDP(User Datagram Protocol)、または番号2で表されるHTTP(Hyper Text Transfer Protocol)tunnellingのいずれかとされる。また、bit rateは、使用されている通信回線のデータ転送速度を表す。すなわち、bit rateは、アプリケーション#1がMPEG4ストリーミングサービスを行う際のMPEG4データ転送速度を決定するための情報である。
さらに、ビデオの圧縮伸長方式を表すVideo Codecは、MPEG4とされている。オーディオの圧縮伸長方式を表すaudio codecは、なし(none)、CELP(Code Excited Linear Predictive) 8k,CELP 16k,AAC(Advanced Audio Coding) 16k, AAC 32k, AAC 44.1k,AAC 48kのいずれかとされる。
このように、パラメータは全て数値によって表現されている。これにより、サービスを提供するサービスプロバイダと、サービスの提供を受ける(サービスを利用する)サービスコンシューマとの間で、迅速且つ簡単に、サービスの利用の可否を判定することができる。
図4に戻って、メディアIMサーバ14は、ステップS4において、メディアIMクライアント#P1からの通知を受け取ると、ステップS5において、これを名簿内の各メンバーにアナウンスする。
アナウンスを受けたメンバー(サービスコンシューマ52)の1人であるメディアIMクライアント#C1は、ステップS6において、この通知を受け取ると、ステップS7において、プロファイルスペースIDとサービスプロバイダ51側のアプリケーションID(いまの場合、アプリケーション#1のID)に基づいて、自分自身がこのプロファイルを受け入れ可能であるか否かを判定する(検証する)。上述したように、このシステムの参加者は、これらのIDに基づいて、その内容(図8に示されているような、相手側装置の機能)を特定することができるので、この判定が可能である。
例えば、各メディアIMクライアント(すなわち、パーソナルコンピュータ11,12等)は、図8に示されるような、プロファイルに含まれるパラメータの種類や、そのパラメータが取り得る値の集合に、アプリケーションIDおよびプロファイルIDを関連付けたテーブルと、サービスコンシューマとなるアプリケーションに関する情報を予め保持しており、ステップS7において、保持しているテーブルを参照し、ステップS6において取得したアプリケーションIDやプロファイルIDに対応するプロファイルに含まれるパラメータの種類やそのパラメータが取り得る値の集合を特定し、さらに、保持しているアプリケーションに関する情報に基づいて、その特定されたパラメータ(パラメータに対応するプロファイル)が、サービスコンシューマとなるアプリケーションの有する機能に対応しているか否か(すなわち、受け入れ可能であるか否か)を判定する。
なお、この、IDと内容の対応関係を記述したテーブルを各装置(パーソナルコンピュータ11,12等)に記憶させておくこともできるが、所定のサーバ(例えば、メディアIMサーバ14)に記憶させておくこともできる。この場合、ユーザが検証のために、このテーブルを利用する度に、ユーザに対して課金するようにすることもできる。これにより、メディアIMサーバ14の運用者は、利益を得ることができる。
メディアIMクライアント#C1は、サービスプロバイダ51からプレゼンスを受けたプロファイルの内容が、サービスコンシューマが受け入れ可能であると判断した場合、ステップS8において、その受け入れ可能なサービスコンシューマ52となるアプリケーション#nに対して、プレゼンスの内容(図8に示されるような、プロファイルスペースIDに対応するプロファイル)を通知する。ステップS9において、アプリケーション#nは、メディアIMクライアント#C1からの通知を受信する。
なお、サービスプロバイダからのアナウンス(ステップS4乃至S6)を受け取った各メディアIMクライアントは、ステップS7における検証の結果、サービスコンシューマとなる適切なアプリケーションが存在しないと判断した場合、受信したアナウンスを無視する。
サービスコンシューマ52としてのアプリケーション#nは、サービスプロバイダ51のプレゼンスの内容を受信すると、ステップS10において、サービスプロバイダ51から提供されたサービスの詳細情報を取得するように、メディアIMクライアント#C1に指示する。ステップS11において、メディアIMクライアント#C1は、この指示を受け取ると、ステップS12において、サービスプロバイダ51が提供するサービスの、上述したプロファイルスペースのパラメータ群の一部または全部のパラメータにより構成されるプロバイダプロファイルの送信を、メッセージング機能またはInfo/Query機能を用いて要求する。この要求には、サービスプロバイダ51を指定するための宛先情報が含められている。
なお、Info/Query機能を用いて通知や要求を行った場合、メッセージング機能を用いた場合と異なり、受け手側より受信確認の応答が送り手側に供給される。例えば、メディアIMクライアント#P1のアプリケーション#1がメディアIMサーバ14より名簿(Roster)を取得する場合、メディアIMクライアント#P1は、Info/Query機能により、GETコマンド等をメディアIMサーバ14に供給する。メディアIMサーバ14は、このGETコマンドを取得すると、取得したことを示す応答を送信元のメディアIMクライアント#P1を介してアプリケーション#1に供給する。アプリケーション#1は、この応答により、GETコマンドがメディアIMサーバ14に供給されたことを確認することができる。
このようにアプリケーションレベルにおいて確認応答が送信先より送信元に対して供給されるので、アプリケーションは、Info/Query機能を用いて通知や要求を行うことにより、確実にその通知や要求を送信先に供給することができる。
これに対してメッセージング機能を用いて通知や要求を行う場合、その通知や要求を取得した送信先のアプリケーションは、送信元に上述した確認応答を供給しない。従って、送信元のアプリケーションは、メッセージング機能を用いて供給した通知や要求を、その送信先が取得したか否かを把握することができないので、Info/Query機能を用いた場合と比較して、目的の送信先に確実に供給することができない。しかしながら、メッセージング機能を用いた通知や要求の場合、Info/Query機能を用いた場合と比較して、通信処理が簡潔になるので、処理の負荷を減らすことができる。このメッセージング機能は、例えば、メディアIMクライアント間におけるテキスト文書からなるインスタントメッセージ(INSTANT MESSAGING)の授受に用いられる。
なお、以上のようなInfo/Query機能を用いた通知や要求、またはメッセージング機能を用いた通知や要求は、メディアIMクライアントだけでなくメディアIMサーバも使用可能であり、メディアIMクライアントとメディアIMサーバ間における通知や要求だけでなくメディアIMクライアント間における通知や要求等にも使用可能である。
さらに、これらのInfo/Query機能やメッセージング機能を用いた通知や要求は、コマンドだけでなく、メッセージやパラメータ等、どのようなデータを含んでいても良く、どのような内容であっても良い。
以上のように、メディアIMクライアント#P1、メディアIMクライアント#C1、およびメディアIMサーバ14は、メッセージング機能またはInfo/Query機能を用いてデータ(通知や要求等も含む)の授受を行う。
上述したように、プロバイダプロファイルを送信する場合、メディアIMクライアント#P1等は、メッセージング機能またはInfo/Query機能のいずれを用いて送信してもよい。ただし、Info/Query機能を用いてプロバイダプロファイルを送信する場合、そのプロバイダプロファイルの送信に対する応答が、送信先より送信元に供給される。
メディアIMサーバ14は、ステップS13において、メディアIMクライアント#C1からの要求を受信すると、ステップS14において、これをメディアIMクライアント#P1に送信する。メディアIMクライアント#P1は、ステップS15において、メディアIMサーバ14からの要求を受信すると、ステップS16において、これをサービスプロバイダ51としてのアプリケーション#1に供給する。
アプリケーション#1は、ステップS17において、メディアIMクライアント#P1からの要求を受信すると、ステップS18において、サービスコンシューマ52に対して提供するプロバイダプロファイルを組み立て、メディアIMクライアント#P1に送信する。
アプリケーション#1により生成されるプロバイダプロファイルの内容は、プロファイルスペース(図8)で定義されているパラメータ群のうち、サービスプロバイダ51がネットワークのリンクスピードやCPUの負荷状況などのランタイム環境を考慮した上で、サービスコンシューマ52に対して実際に提供できるパラメータの値の範囲を具体的に設定したものとされる。
図9は、このようにして、生成されるプロバイダプロファイルの例を表している。図9では、このプロバイダプロファイルが、プロファイルディスクリプション(Profile Description)として表されている。
図9は、サービスプロバイダ51としてのアプリケーション#1がVGA(Video Graphics Array)系の画角(160pixel×120pixelまたは320pixel×240pixel)のみをサポートし、かつPHS(Personal Handyphone System)相当のネットワーク(リンクスピードの最大値が128kbpsのネットワーク)に接続されている場合の例を表している。従って、図9の例においては、ネットワークのリンクスピードとの兼ね合いから、画角が図8のプロファイルスペースで規定されている範囲のうち、160pixel×120pixel(X scale×Y scale)のみに限定されている。
また、図9の例においては、プロファイルスペースIDは、「10000001」とされており、図8に示されるプロファイルスペースに対応するプロファイルディスクリプションであることが示されている。すなわち、上述したように、メディアIMクライアント#C1がステップS12においてプロバイダプロファイルを要求すると、その要求に応じて、図9に示されるような、ステップS3においてメディアIMクライアント#P1が供給したプロファイルスペースIDに対応するプロファイルディスクリプション(プロバイダプロファイル)が生成される。
図9のaccess methodは、RTSP/TCP+RTP/UDPまたはHTTP tunnellingのいずれかとされる。bit rateは、6k乃至128kbpsとされている。さらに、audio codecは、なし(none)またはCELP 8kとされている。
メディアIMクライアント#P1は、ステップS19において、アプリケーション#1からのプロバイダプロファイルの応答を受信すると、ステップS20において、これをアプリケーション#nに向けてメッセージング機能またはInfo/Query機能を用いて返信する。
メディアIMサーバ14は、ステップS21において、メディアIMクライアント#P1からの返信を受信すると、ステップS22において、これをメディアIMクライアント#C1に送信する。ステップS23において、メディアIMクライアント#C1は、この返信を受信すると、それをステップS24において、アプリケーション#nに送信する。アプリケーション#nは、ステップS25において、このサービスプロバイダ51からの返信(図9に示されるプロバイダプロファイルが含まれている)を受信する。
アプリケーション#nは、ステップS25の処理で受信したサービスプロバイダ51のプロバイダプロファイルと、自分自身が形成するコンシューマプロファイルとのマッチング(比較)を行う。
ここで、プロバイダプロファイルは、上述したように、メディアIMクライアント#C1によりサービスコンシューマが受け入れ可能であると判断された内容のプロファイルスペースに基づいて、アプリケーション#1が作成したプロファイルである。すなわち、このプロバイダプロファイルに対応するプロファイルスペースは、サービスコンシューマとしてのアプリケーション#nにも対応している。従って、アプリケーション#nは、アプリケーション#1がプロバイダプロファイルを作成する場合と同様の処理を行い、サービスコンシューマに対応する、このプロファイルスペースのパラメータ群の一部または全部のパラメータにより構成されるプロファイル(すなわち、コンシューマプロファイル)を作成することができる。アプリケーション#nは、受信したサービスプロバイダ51のプロバイダプロファイルと、このように作成されたコンシューマプロファイルとのマッチングを行う。
上述したように、サービスプロバイダが提示するプロバイダプロファイル(プロファイルディスクリプション)は、数値だけで表現されているため、サービスコンシューマ52は、自分自身のプロファイルを構成する各パラメータの値の範囲と単純に1次元での比較を行うだけで、整合性を簡単に検証することができる。
ここで、次元とは、パラメータの実質的な数を意味する。すなわち、サービスコンシューマ52は、コンシューマプロファイルの各パラメータの値の範囲を、そのパラメータに対応するプロバイダプロファイルのパラメータの値の範囲とを1対1で、1つずつ比較する。
そして、コンシューマプロファイルの各パラメータの値の範囲の一部または全部が、そのパラメータに対応するプロバイダプロファイルのパラメータの値の範囲に重なる場合、すなわち、サービスコンシューマ52が、サービスプロバイダ51より提供されたサービスを取得することができる(アプリケーション#1が送信したデータを、アプリケーション#nが受け入れることができる)範囲が存在すると判定した場合、サービスコンシューマ52は、整合性が確認できたと判定する。
アプリケーション#nは、整合性が確認できた場合、ステップS26において、サービスプロバイダ51に対して、提供されたサービスへの自分自身(サービスコンシューマ52)の登録を要求する。メディアIMクライアント#C1は、ステップS27において、アプリケーション#nからこの指示を受け取ると、ステップS28において、サービスプロバイダ51に対して、プロファイルスペースIDに対応させて、サービスコンシューマ52のアプリケーション#nのアプリケーションIDを登録することにより、サービスの提供先としてサービスコンシューマ52を登録する、サービスへの登録を、メッセージング機能またはInfo/Query機能を用いて要求する。このとき、プロファイルスペースIDとアプリケーションID(アプリケーション#nのID)がその要求に含められる。
メディアIMサーバ14は、ステップS29において、メディアIMクライアント#C1からの要求を受け取ると、ステップS30において、これをメディアIMクライアント#P1に送信する。メディアIMクライアント#P1は、ステップS31において、メディアIMサーバ14からの要求を受信すると、ステップS32において、これをアプリケーション#1に送信する。アプリケーション#1は、ステップS33において、サービスコンシューマ52からの登録要求を受信する。
サービスプロバイダ51としてのアプリケーション#1は、ステップS18の処理でサービスコンシューマ52に対して提供したサービスに対応してサービスコンシューマ52を登録する。具体的には、プロファイルスペースIDに対応して、サービスコンシューマ52のアプリケーション#nのアプリケーションIDが対応して登録される。
このように登録されたサービスコンシューマ52に関する情報は、アプリケーション#1によりサービスが提供される際に利用される。すなわち、アプリケーション#1は、この登録された情報を参照し、その情報に基づいてサービスコンシューマ52のアプリケーション(アプリケーションIDに対応するアプリケーション)に対して、サービスを提供する。
ステップS34において、アプリケーション#1は、サービスコンシューマ52より供給された要求であり、アプリケーション#1がプロファイルスペースIDに対応させてサービスコンシューマ52のアプリケーション#nのアプリケーションIDを登録することにより、サービスの提供先としてサービスコンシューマ52を登録させる要求である、サービスへの登録要求に対応する応答(すなわち、アプリケーション#nの登録が完了したか否かを示す情報の供給)をメディアIMクライアント#P1に指示し、ステップS35において、この指示を受け取ったメディアIMクライアント#P1は、ステップS36において、供給された登録要求に対応する応答である登録結果を、メッセージング機能またはInfo/Query機能を用いて通知する。ステップS37において、この登録結果の通知を受信したメディアIMサーバ14は、ステップS38において、それをメディアIMクライアント#C1に送信する。メディアIMクライアント#C1は、ステップS39において、これを受信すると、ステップS40において、アプリケーション#nに送信する。アプリケーション#nは、ステップS41において、登録結果の通知を受信する。
アプリケーション#nは、ステップS42において、サービスプロバイダ51からのプロファイルディスクリプション(ステップS25の処理で受信したプロバイダプロファイル)に基づく接続性を保証するためのパラメータを、プロファイルアトム(Profile Atom)として決定する。すなわち、アプリケーション#1が送信したデータを、アプリケーション#nがそのまま利用することが可能な(アプリケーション#nが受け入れることが可能な)パラメータが決定される。
図10は、このプロファイルアトムのディスクリプションの例を表している。この例においては、プロファイルスペースIDが「10000001」とされており、図8に示されるプロファイルスペースに対応するプロファイルアトムであることが示されている。すなわち、上述したように、メディアIMクライアント#C1の要求に応じてプロファイルスペースIDに対応するプロファイルディスクリプション(プロバイダプロファイル)がメディアIMクライアント#P1により作成され、供給されると、メディアIMクライアント#C1は、プロファイルスペースIDに対応するコンシューマプロファイルを作成し、それを供給されたプロバイダプロファイルと比較し、整合すると判定した場合、提供されたサービスへの登録処理を行うとともに、それらのプロファイルに対応するプロファイルスペースの各パラメータの範囲から、接続性を保証するための範囲を特定し、図10に示されるような、それらの範囲のパラメータにより構成されるプロファイルアトムを生成する。
access methodは、HTTP tunnellingとされている。すなわち、図9のプロバイダプロファイルにおけるaccess methodのうち、番号2に対応する方が選択されている。
また、bit rateは48kbps、 X scaleは160、Y scaleは120とされている。さらに、audio codecは、CELP 8kとされている。
アプリケーション#nは、ステップS42において、このようにして決定したプロファイルアトムを伴ったコネクト要求を発行する。ステップS43において、メディアIMクライアント#C1は、この要求を受信すると、ステップS44において、この要求を、メッセージング機能またはInfo/Query機能を利用して、サービスプロバイダ51に送信する。メディアIMサーバ14は、ステップS45において、この要求を受信すると、ステップS46において、その要求をメディアIMクライアント#P1に送信する。メディアIMクライアント#P1は、ステップS47において、メディアIMサーバ14からの要求を受信すると、これをステップS48において、アプリケーション#1に送信する。アプリケーション#1は、ステップS49において、この要求を受信する。
アプリケーション#1は、この要求を受信すると、ステップS50において、サービスコンシューマ52(アプリケーション#n)がサービスプロバイダ51(アプリケーション#1)に対して接続するために必要な接続情報を含む応答を、サービスコンシューマ52に送信する。この接続情報は、例えば、サービスコンシューマ52がサービスプロバイダ51に接続する際にアクセスするアドレスである、サービスプロバイダ51のアドレスを示すURI(Uniform Resource Identifier)(サービスURI)とすることができる。
アプリケーション#1からステップS50の処理で送信された応答は、ステップS51において、メディアIMクライアント#P1で受信され、メディアIMクライアント#P1は、ステップS52において、その応答を、メッセージング機能またはInfo/Query機能を利用して、サービスコンシューマ52に向けて送信する。メディアIMサーバ14は、ステップS53において、メディアIMクライアント#P1からの応答を受信すると、ステップS54において、これをメディアIMクライアント#C1に送信する。メディアIMクライアント#C1は、ステップS55において、メディアIMサーバ14からの応答を受信すると、ステップS56において、これをアプリケーション#nに送信する。アプリケーション#nは、ステップS57において、この応答を受信する。
アプリケーション#1は、ステップS50において、応答の送信を指示した後、アプリケーション#nからの直接の(メディアIMサーバ14を介さない)アクセスを待機している。そこで、ステップS58において、アプリケーション#nは、メディアIMサーバ14を介さずに、ピアツーピアで、アプリケーション#1のサービスURL(Uniform Resource Locator)にアクセスする。ステップS59において、アプリケーション#1は、アプリケーション#nからのピアツーピアのURLへのアクセスを受け付ける。
以後、アプリケーション#1とアプリケーション#nは、ピアツーピアで情報を授受することが可能となる。
なお、サービスプロバイダ51は、サービスを提供する側(提供者)である。これに対して、サービスコンシューマ52は、サービスの提供を受けて利用する側(利用者)である。サービスの提供者と利用者は相対的なものであり、例えば、パーソナルコンピュータ11とパーソナルコンピュータ12は、それぞれ一方がサービスを提供するとき、他方がサービスを利用することになる。従って、一般的には、パーソナルコンピュータ11は、サービスプロバイダ51としての機能と、サービスコンシューマ52としての機能の両方を有している。従って、パーソナルコンピュータ11は、サービスの提供者側としてのアプリケーション#1とメディアIMクライアント#P1を有するだけでなく、サービスの利用者側としてのアプリケーション#nとメディアIMクライアント#C1も有している。同様に、パーソナルコンピュータ12も、サービスの利用者側としてのアプリケーション#nとメディアIMクライアント#C1だけでなく、サービスの提供者側としてのアプリケーション#1とメディアIMクライアント#P1も有している。
以上のように、本発明のアプリケーションプラットフォームは、インスタントメッセージのプレゼンス機能、メッセージング機能、およびInfo/Query機能をベースとして、アプリケーションレベルでのプロファイルのネゴシエーションを実現する新たなプロトコルアーキテクチャを構築している。その結果、このアプリケーションプラットフォームにおけるマッチングメーキングの仕組みを用いることによって、パーソナルコンピュータ、モバイル機器などの能力が異なる(勿論、同一でもよいが)様々なデバイスに実装されたアプリケーション同志が、簡単かつ確実に接続可能となる。これにより、文字、音声、音楽、動画、静止画といった様々な情報からなるリッチメディア情報を、ピアツーピアコミュニケーションで伝送することが可能なシステムを実現することができる。この場合において、最終的に接続性が保証されたアプリケーション(サービスエンティティ同志)がピアツーピアでコミュニケーションを図ることができる。従って、ユーザは、特別の操作を行わずとも、簡単かつ確実に、情報を授受することが可能となる。
上述したアプリケーション(サービスエンティティ)は、パーソナルコンピュータやネットワーク対応のCE(Consumer Electronics)機器のみならず、インターネット1上の商用アプリケーションサーバにも適用することが可能となる。
例えば、図1のアプリケーションサーバ15においては、商用プリントサービスのアプリケーションが、サービスプロバイダとして、メディアIMクライアント#4上で実行される。従って、図1におけるパーソナルコンピュータ11,12あるいはPDA13は、アプリケーションサーバ15との間で上述した手順を実行することで、アプリケーションサーバ15が提供するプリントサービスを、インターネット1を介して利用することができる。
従って、本発明においては、インターネット1に接続されている各サーバが提供しているサービスを検索することで、サービスプロバイダの一覧をBuddyリストとして、例えば、図11に示されるように、表示することができる。
図11の例においては、PDA13に実装されたメディアIMクライアント#3上で、サービスコンシューマとして動作しているプリントサービスのアプリケーションが利用できるサービスプロバイダの一覧が表示されている。この場合において、プレゼンス機能を用いることによって、サービスコンシューマに応じてきめ細かく、かつ自由に、商用サービスのステータスを表現することができる。例えば、図11の例において、商用サービスを運用中であるか否かを、ランプアイコン13Aで表示するようにすることができる。この場合、例えば、運用中の商用サービスは、緑色で表示し、休止中の商用サービスは、赤色で表示するようにすることができる。また、図11の例においては、依頼したプリントが仕上がる時刻、価格などの細かい状況も、ステータス情報として表示されている。
なお、当然のことながら、ユーザ端末上のサービスプロバイダとサービスコンシューマのアプリケーション間においても、ユーザインタフェースおよびプレゼンス機能により、相手先に応じたきめ細かいステータス表示をアプリケーション毎に行うことが可能である。
図12は、パーソナルコンピュータ11の構成例を表している。なお、図示は省略するが、他のパーソナルコンピュータ12も同様に構成される。従って、この図12には、パーソナルコンピュータ12の構成としても、適宜、引用される。
図12において、CPU(Central Processing Unit)121は、ROM(Read Only Memory)122に記憶されているプログラム、または記憶部128からRAM(Random Access Memory)123にロードされたプログラムに従って各種の処理を実行する。RAM123にはまた、CPU121が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU121、ROM122、およびRAM123は、バス124を介して相互に接続されている。このバス124にはまた、入出力インタフェース125も接続されている。
入出力インタフェース125には、キーボード、マウスなどよりなる入力部126、CRT(Cathode Ray Tube)、LCD(Liquid Crystal display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部127、ハードディスクなどより構成される記憶部128、モデム、ターミナルアダプタなどより構成される通信部129が接続されている。通信部129は、インターネットを含むネットワークを介しての通信処理を行う。
入出力インタフェース125にはまた、必要に応じてドライブ130が接続され、磁気ディスク141、光ディスク142、光磁気ディスク143、或いは半導体メモリ144などが適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部128にインストールされる。
上述したアプリケーション#1(サービスプロバイダ51)及びメディアIMクライアント#P1またはアプリケーション#n(サービスコンシューマ52)及びメディアIMクライアント#C1は、CPU121により、RAM123によりロードされ、実行される。
以上においては、サービスコンシューマ52から、図7のステップS42の処理で、プロファイルアトムをサービスプロバイダ51に送信し、サービスを利用するようにしたので、例えば、定点カメラにおいて取得した画像を、サービスプロバイダ51からサービスコンシューマ52に提供するような、いわゆるプル型のサービスには親和性がある。例えば、定点カメラにおいて取得した画像を提供するサービスプロバイダ51は、画像の提供を受ける側であるサービスコンシューマ52より供給される画像提供の要求に基づいて画像を提供すれば良いので、このようなサービスは上述したシステムで容易に実現することができる。
しかしながら、例えば、電話のように、サービスプロバイダ51からサービスコンシューマ52に対して、能動的にサービスを提供するような、いわゆるプッシュ型のサービスに対しては、上記したシステムは親和性に乏しい。例えば、電話サービスを上述したシステムで実現する場合、電話をかける側であるサービスプロバイダ51は、電話を受ける側であるサービスコンシューマ52より要求を受けないと電話をかけられなくなるので、このようなサービスは上述したシステムで単純に実現することはできない。
そこで、プッシュ型のサービスが提供できるようにするための手順について、以下に説明する。
この場合においては、図4のステップS1乃至ステップS9の処理に代えて、図13に示されるステップS101乃至ステップS109の処理が実行される。図13のステップS101乃至ステップS109の処理は、図4のステップS1乃至ステップS9の処理に、基本的に対応している。そこで、以下に、その違いについてだけ説明する。
図4における場合と異なるのは、図4のステップS3に対応するステップS103と、図4のステップS7に対応するステップS107の処理である。
即ち、ステップS3においては、メディアIMクライアント#P1は、プロファイルスペースIDとプロバイダアプリケーションIDを、メディアIMサーバ14に送信するようにしていたが、ステップS103の処理では、これに加えて、さらにプロバイダエンドポイント(Provider End Point)が送信される。このプロバイダエンドポイントは、サービスを提供する提供者としてのエンティティを識別する提供者エンティティ識別子である。
図15乃至図17を参照して後述するように、アプリケーション#1は、サービスの提供者としての実体であるサービスエンティティを、1以上、有することができる。プロバイダエンドポイントは、この1以上のサービスエンティティの中から目的のサービスエンティティを識別するための識別子である。
また、図4のステップS7においては、メディアIMクライアント#C1は、プロファイルスペースIDとサービスプロバイダ51のアプリケーションID(アプリケーション#1のID)に基づいて、自分自身がこのプロファイルを受け入れ可能であるか否かを検証するようにしていたが、ステップS107の処理においては、この検証に加えて、さらにステップS106の処理で受信されたメディアIMクライアント#P1からの通知に含まれる、プロバイダエンドポイントとコンシューマエンドポイント(Consumer End Point)の対応関係が、メディアIMクライアント#C1により記憶される。このコンシューマエンドポイントは、サービスを利用する利用者としてのエンティティを識別する利用者エンティティ識別子である。
図15乃至図17を参照して後述するように、アプリケーション#nは、サービスの利用者としての実体であるサービスエンティティを、1以上、有することができる。コンシューマエンドポイントは、この1以上のサービスエンティティの中から目的のサービスエンティティを識別するための識別子である。
その他の処理は、図4における場合と同様である。
図13に示されるステップS101乃至ステップS109の処理(図4のステップS1乃至ステップS9に対応する処理)が実行された後、上述した場合と同様に、図5に示されるステップS10乃至ステップS25の処理が実行される。ただし、この場合、ステップS12の処理において、サービスプロバイダの指定情報として、ステップS107の処理によって記憶されたプロバイダエンドポイントが含められる。即ち、これにより、サービスコンシューマ52(アプリケーション#n)は、サービスプロバイダ51(アプリケーション#1)から提供されたサービスの詳細情報を取得する。
次に、図6に示されるステップS26乃至ステップS41の処理に代えて、図14に示されるステップS126乃至ステップS141の処理が実行される。
このステップS126乃至ステップS141の処理は、基本的に、図6のステップS26乃至ステップS41の処理に対応する処理であるが、図6のステップS28に対応するステップS128の処理と、図6のステップS31に対応するステップS131の処理が、図6におけるステップS28またはステップS31の処理と異なっている。
その他の処理は、図6における場合と同様であるので、以下に、ステップS128の処理とステップS131の処理についてだけ説明する。
図6のステップS28の処理ではメディアIMクライアント#C1は、アプリケーション#nからのサービスへの登録要求に基づいて、アプリケーション#1に対してサービスへの登録要求を発行する。このステップS28の処理では、この登録要求に、プロファイルスペースIDとアプリケーションIDだけを付加するようにしていたが、ステップS128の処理では、これに加えて、さらにプロバイダエンドポイントとコンシューマエンドポイントが付加される。このプロバイダエンドポイントとコンシューマエンドポイントは、図13のステップS107の処理で、その対応関係が記憶されたものである。
また、図6のステップS31においては、メディアIMクライアント#P1は、メディアIMサーバ14からの要求を受信すると、ステップS32において、これをアプリケーション#1に送信するだけであったが、ステップS131の処理においては、メディアIMクライアント#P1は、メディアIMサーバ14からの要求を受信すると、それに含まれるプロバイダエンドポイントとコンシューマエンドポイントを読み出し、両者を対応させて登録する処理を実行する。
以上のようにして、メディアIMクライアント#C1(図13のステップS107の処理)と、メディアIMクライアント#P1(図10のステップS131)の両方において、プロバイダエンドポイントとコンシューマエンドポイントの対応関係が記憶される。その他の処理は、図6における場合と同様である。
次に、図15乃至図17を参照して、サービスエンティティについて説明する。上述したステップS131で、メディアIMクライアント#P1によりサービスプロバイダエンティティとサービスコンシューマエンティティが登録された状態が、図15に模式的に表されている。この例においては、ID1乃至ID3で示される3個のサービスプロバイダエンティティと、ID4とID5で示される2個のサービスコンシューマエンティティが、メディアIMクライアント#P1に登録されている。
図16に示されるように、ID1で示される1個のサービスプロバイダエンティティは、ID4とID5で示される2個のサービスコンシューマエンティティと対応付けられている。
また、図17に示されるように、ID4で示される1個のサービスコンシューマエンティティは、ID1,ID2、またはID3の3個のサービスプロバイダエンティティと対応付けられている。
これらの図において、対応関係は、サービスセッション(Service Session)として示されている。
サービスエンティティは、サービスの提供者または利用者としての実体であり、アプリケーション#1(アプリケーション#nも同様)は、1以上のサービスエンティティを有することができる。即ち、通常、アプリケーション#1が提供することが可能なサービスは1個だけではない。アプリケーション#1は、1個以上のサービスを提供することができる。同様に、通常、アプリケーション#nは、サービスを、1個だけ利用するのではなく、2個以上のサービスを利用する。例えば、電話アプリケーションを例とした場合、サービスプロバイダとサービスコンシューマとの間で映像音声を授受するサービスと、文字を授受するサービスとを提供することができる。従って、アプリケーションIDをサービスIDとして利用することはできず、サービスの実体としてのサービスエンティティが、アプリケーションとは別に規定される。
図14に示される登録処理が完了したとき、さらに図18に示されるステップS201乃至ステップS212の処理が、後述する図21に示されるステップS142乃至ステップS159の処理(コネクト要求の処理)の前に実行される。
ステップS201において、アプリケーション#1は、ユーザの指示に基づいて、ユーザが指定したサービスコンシューマに対してアプリケーション#1が提供するサービスの利用を促す(勧誘する)メソッドの発行を指令する。この勧誘処理は、例えば電話アプリケーションの場合には、相手の電話に対して発呼する処理に相当する。ステップS202において、メディアIMクライアント#P1は、アプリケーション#1からこの指示を受け取ると、ステップS203において、指示されたサービスコンシューマに対してサービスの利用(サービスへの接続)を促すInviteメソッドを、IMのメッセージング機能またはInfo/Query機能を用いて送信する。
このInviteメソッドには、そのメソッドを識別するリファレンス番号(Invite Reference)が含まれるほか、ステップS131の処理で登録された、プロバイダエンドポイントとコンシューマエンドポイントが含まれている。
なお、メソッドとは、オブジェクト指向プログラミングにおける、「データ」および「手続き」により構成されるオブジェクトが有する、そのオブジェクトに対する操作(すなわち、オブジェクトの「手続き」を実行させる操作)を表すものである。すなわち、この場合、Inviteメソッドは、メディアIMクライアント#C1に対して、メディアIMクライアント#C1が有する「サービスの利用」手続きを実行させるメソッドである。
メディアIMクライアント#P1が、Inviteメソッドに、このように対象とするサービスを提供するサービスプロバイダエンティティを識別するプロバイダエンドポイントと、そのサービスを利用するサービスコンシューマエンティティを識別するコンシューマエンドポイントを付加することで、メディアIMクライアント#C1は、複数のサービスエンティティの中から、確実に対象とするサービスエンティティを識別することが可能となる。
また、Invite ReferenceをInviteメソッドに含めることで、後に、図19を参照して説明するように、サービスプロバイダが、その発行したInviteメソッドをキャンセルしたり、図20を参照して説明するように、コンシューマが、そのInviteメソッドにAcceptメソッドまたはRejectメソッドで応答する場合に、対象とするInviteメソッドを特定することが可能となる。
なお、メディアIMクライアント#P1は、ステップS203で、アプリケーション#1から指定されたサービスコンシューマに対してInviteメソッドを送信するのではなく、図14のステップS126のアプリケーション#nからのサービスへの登録要求に基づいて登録されたすべてのサービスコンシューマに対してInviteメソッドを送信するようにすることもできる。
メディアIMサーバ14は、ステップS204でメディアIMクライアント#P1から送信されてきたInviteメソッドを受信すると、ステップS205において、これをメディアIMクライアント#1に送信する。
メディアIMクライアント#C1は、ステップS206において、メディアIMサーバ14から送信されてきたInviteメソッドを受信すると、これをステップS207において、アプリケーション#nに通知する。アプリケーション#nは、ステップS208において、メディアIMクライアント#C1からの通知を受信すると、サービスコンシューマ52のユーザ(サービス利用者)に対して、映像、音声、GUI(Graphical User Interface)などを利用して、そのことを通知する。
また、アプリケーション#nが、例えば、起動はされているが、待機状態であり、その他の動作が行われていないような待ち受け動作状態である場合や、起動されていない場合等、そのままでは通信不可能な状態であっても、メディアIMクライアントC1が、アプリケーション#nを起動したり、アプリケーション#nの動作を制御したりする等して、アプリケーション#nの動作状態を制御し、アプリケーション#nが、アプリケーション#1より供給される通知情報を取得することができるようにすることができる。これにより、確実に通知をユーザに知らしめることができる。
メディアIMクライアント#C1はまた、ステップS206でメディアIMサーバ14からInviteメソッドを受信すると、ステップS209において、受信したことを、Info/Query機能の結果として通知する。メディアIMサーバ14は、ステップS210において、メディアIMクライアント#C1からの通知を受信すると、ステップS211において、この通知をさらにメディアIMクライアント#P1に送信する。メディアIMクライアント#P1は、ステップS212において、この通知を受信する。これにより、メディアIMクライアント#P1は、ステップS203において発行したInfo/Query機能に基づくメッセージが、確実にメディアIMクライアント#C1に受信されたことを知ることができる。
なお、上述したように、メッセージング機能によるデータの授受においては、データの送信先は、データの送信元に対して、データの送信に対する応答を送信しない。すなわち、メディアIMクライアント#C1は、メッセージング機能により送信されたデータを取得しても、そのデータに対する応答(データを取得したことを示す通知)を送信しない。従って、Inviteメソッドが、メッセージング機能を利用して送信された場合には、このInfo/Query機能に基づく通知は行われない。
以上のようにして、アプリケーション#1のユーザは、アプリケーション#nのユーザ(コンシューマ)に対してサービスをプッシュすることができる。
このシステムにおいては、サービスプロバイダ51は、このようにして、一旦発行した勧誘をキャンセルすることが可能とされている。この場合の処理について、図19を参照して説明する。このキャンセルの処理は、例えば電話アプリケーションにおいては、接続先を呼び出し中に、発信元が呼び出しをやめる処理に相当する。
この処理は、図18のInviteメソッドが発行された後、図20を参照して後述するコンシューマ側からAcceptまたはRejectメソッドが送信されてくるまでの間に、サービスプロバイダ51が実行することができる。
サービスプロバイダ51としてのアプリケーション#1のユーザは、何らかの事情により、図18の処理でサービスコンシューマ52に対して発行したInviteメソッドをキャンセルしたいと考えるとき、そのことをアプリケーション#1に指示する。アプリケーション#1は、ユーザからこの指示を受けると、ステップS231において、メディアIMクライアント#P1に対して勧誘のキャンセルを指令する。
メディアIMクライアント#P1は、ステップS232において、アプリケーション#1から勧誘のキャンセルの指示を受け取ると、ステップS233において、Cancelメソッドをメッセージング機能またはInfo/Query機能を用いて発行する。このCancelメソッドは、キャンセル対象とされるInviteメソッドを識別するためのリファレンス番号(Invite Reference)を含んでいる。また、Cancelメソッドは、対象とするサービスプロバイダエンティティを識別するためのプロバイダエンドポイントと、対象とするサービスコンシューマエンティティを識別するためのコンシューマエンドポイントを含んでいる。これにより、複数のInviteメソッドがあっても、キャンセル対象を確実に特定することができる。
ステップS234において、メディアIMサーバ14は、メディアIMクライアント#P1からのCancelメソッドを受信すると、ステップS235において、これをメディアIMクライアント#C1に送信する。メディアIMクライアント#C1は、ステップS236において、このCancelメソッドを受信すると、Cancelメソッドに含まれるプロバイダエンドポイント、コンシューマエンドポイントおよびリファレンス番号(Invite Reference)からキャンセルされた勧誘を特定し、ステップS237において、アプリケーション#nに対して勧誘がキャンセルされたことを通知する。アプリケーション#nは、ステップS238において、メディアIMクライアント#C1から、このキャンセルの通知を受け取ると、勧誘を受けた場合と同様に映像、音声、GUIなどにより勧誘がキャンセルされたことをユーザに通知する。
ステップS239において、メディアIMクライアント#C1は、メディアIMサーバ14からCancelメソッドを受信したことを、Info/Query機能によりメディアIMサーバ14に通知する。ステップS240において、メディアIMサーバ14は、Info/Queryの結果の通知を受け取ると、ステップS241において、この通知をメディアIMクライアント#P1に送信する。メディアIMクライアント#P1は、ステップS242において、メディアIMサーバ14からの通知を受信する。これにより、メディアIMクライアント#P1は、ステップS233で発行したCancelメソッドがメディアIMクライアント#C1に確実に受信されたことを確認することができる。
サービスコンシューマ52のユーザは、以上の図19の処理によりキャンセルの通知を受けたとき、図20を参照して後述する勧誘に対する返答をすることができない。従って、サービスプロバイダ51は、図18のInviteメソッドを発行した後、Cancelメソッドを発行する場合、サービスコンシューマ52からの返答を受信できるように待機する必要がない。これに対して、サービスプロバイダ51は、図18のInviteメソッドを発行した後、Cancelメソッドを発行しない場合には、サービスコンシューマ52からの返答を受信できるように待機する。
次に、図20を参照して、図18の処理により、Inviteメソッドを受信したサービスコンシューマ52が実行する返答処理について説明する。この返答処理は、例えば電話アプリケーションにおいては、受信側が電話呼出に応答する処理に相当する。
アプリケーション#nを介してinviteメソッドが受信されたことの通知を受けた場合、サービスコンシューマ52のユーザは、それに対応する返答を行う。ユーザは、勧誘を受け入れるか、または拒絶することを、アプリケーション#nに指示する。
アプリケーション#nは、ユーザから、受け入れまたは拒絶の返答の指示を受けると、ステップS261において、その返答に対応するメソッドの発行をメディアIMクライアント#C1に要求する。ステップS262において、メディアIMクライアント#C1は、アプリケーション#nからの指示を受け取ると、ステップS263において、アプリケーション#nからの指示に対応する応答(Reply)を送信する。アプリケーション#nからの指示が受け入れである場合には、メディアIMクライアント#C1は、Acceptメソッドを発行し、拒絶である場合には、Rejectメソッドを発行する。これらのいずれのメソッドにも、対象とするInviteメソッドを特定するためのリファレンス番号(Invite Reference)を含んでいる。また、このAcceptメソッドまたはRejectメソッドには、対象とするプロバイダサービスエンティティを識別するためのプロバイダエンドポイントと、対象とするコンシューマサービスエンティティを特定するコンシューマエンドポイントが含まれている。
メディアIMクライアント#C1は、IMのメッセージング機能またはInfo/Query機能を用いて、このAcceptメソッドまたはRejectメソッドを発行する。
ステップS264において、メディアIMサーバ14は、メディアIMクライアント#C1からのAcceptメソッドまたはRejectメソッドを受信すると、ステップS265において、これをメディアIMクライアント#P1に送信する。
メディアIMクライアント#P1は、ステップS266において、メディアIMサーバ14からのAcceptメソッドまたはRejectメソッドを受信すると、AcceptメソッドまたはRejectメソッドに含まれるプロバイダエンドポイント、コンシューマエンドポイント及びリファレンス番号(Invite Reference)からどの勧誘に対する応答かを特定し、ステップS267において、アプリケーション#1に対してサービスコンシューマ52からステップS201の処理で発行した勧誘に対応する応答が受信されたことを通知する。
ステップS268において、アプリケーション#1は、メディアIMクライアント#P1からの応答を受信すると、サービスプロバイダ51のユーザに対して、勧誘が受け入れられたこと(Acceptメソッドが受信された場合)、または拒絶されたこと(Rejectメソッドが受信された場合)を通知する。
これにより、サービスプロバイダ51のユーザは、発行した勧誘にサービスコンシューマ52のユーザが応答した結果を知ることができる。
メディアIMクライアント#P1は、ステップS266の処理で、メディアIMサーバ14からAcceptメソッドまたはRejectメソッドを受信すると、受信したことを表すInfo/Queryの結果の通知を、ステップS269においてメディアIMサーバ14に発行する。メディアIMサーバ14は、ステップS270において、メディアIMクライアント#P1からの通知を受信すると、ステップS271において、これをメディアIMクライアント#C1に送信する。メディアIMクライアント#C1は、ステップS272において、メディアIMサーバ14からの通知を受信する。これにより、メディアIMクライアント#C1は、ステップS263において発行したAcceptメソッドまたはRejectメソッドが、メディアIMクライアント#P1に受信されたことを確認することができる。
以上の処理により、サービスコンシューマ52のユーザが、勧誘に対して受け入れを指示した場合には、アプリケーション#1は、アプリケーション#nからの続くコネクト要求が来るのを待機する。その後、サービスコンシューマ52のユーザは、図7に示されるステップS42乃至ステップS59の処理に代えて、図21に示されるステップS142乃至ステップS159の処理を実行することで(コネクト要求を実行することで)、サービスプロバイダ51が提供するサービスを利用する。
このステップS142乃至ステップS159の処理は、基本的に、図7のステップS42乃至ステップS59の処理に対応する処理であるが、図7のステップS44に対応するステップS144の処理が、図7におけるステップS44の処理と異なっている。
その他の処理は、図7における場合と同様であるので、以下に、ステップS144の処理についてだけ説明する。
図7のステップS44の処理ではメディアIMクライアント#C1は、アプリケーション#nからのコネクト要求を、メッセージング機能またはInfo/Query機能を利用して、サービスプロバイダ51に送信する。このステップS44の処理では、このコネクト要求に、Profile Atomの指定だけを付加するようにしていたが、ステップS144の処理では、これに加えて、さらにプロバイダエンドポイントとコンシューマエンドポイントが付加される。
このプロバイダエンドポイントとコンシューマエンドポイントは、メディアIMクライアント#C1(図13のステップS107の処理)と、メディアIMクライアント#P1(図10のステップS131)の両方において、すでに対応関係が記憶されているため、メディアIMクライアント#P1では、図21のステップS148において、正しくサービスプロバイダであるアプリケーション#1に、このコネクト要求を受け渡すことができる。その他の処理は、図7と同じである。
これに対して、サービスコンシューマ52のユーザは、サービスプロバイダ51からの勧誘に対して拒絶の応答をした場合には、以後、図21に示されるコネクト要求の処理を実行する必要がない。
また、サービスプロバイダ51は、サービスコンシューマ52から拒絶の応答を受けた場合には、サービスコンシューマ52からのコネクト要求を待機する必要がない。
このようにして、プッシュ型の通信を確実に行うことが可能となる。
なお、以上においては、メディアIMクライアントとアプリケーションを別の構成としたが、一体的な構成とすることも可能である。
本発明によれば、サービスプロバイダからサービスコンシューマに識別情報を通知するようにしたので、サービスコンシューマは、その通知に基づいて自分自身がサービスプロバイダの機能を利用することができるか否かを、容易にかつ迅速に、判定することが可能となる。
また、はじめから詳細情報を通知する場合に較べて、簡単かつ迅速に、サービスコンシューマに対してサービスを利用することができるか否かを判定させることが可能となる。さらに、サービスプロバイダとサービスコンシューマの間の伝送路のトラフィックの負荷を軽減することが可能となる。
サービスコンシューマをサービスに関して登録したことを通知するようにしたので、サービスコンシューマに対してサービスの利用が可能であることを知らしめることができる。
接続情報をサービスコンシューマに通知するようにしたので、サービスコンシューマとの間で、直接通信することが可能となる。
接続情報に基づくアクセスを受け付けるようにした場合には、実際に、サービスコンシューマと通信を行うことが可能となる。
識別情報の通知は、プレゼンス機能を用いて行い、詳細情報の通知と接続情報の通知は、メッセージング機能またはInfo/Query機能を用いて行うようにすることで、インスタントメッセージを利用して通知を行うことが可能となる。
提供者エンティティ識別子を通知するようにすることで、複数のサービスを管理することが可能となる。
提供者エンティティ識別子と利用者エンティティ識別子を対応して登録するようにすることで、サービスを提供するエンティティと利用するエンティティの対応関係を単位として、サービスを管理することが可能となる。
勧誘情報を送信するようにすることで、プッシュ型のサービスの提供が可能となる。
勧誘情報をメッセージング機能またはInfo/Query機能を用いて送信するようにすることで、インスタントメッセージを利用して勧誘情報を送信することが可能となる。
登録された利用者エンティティ識別子に対応して勧誘情報を送信することで、より効率的なサービスを提供することが可能となる。
勧誘をキャンセルするキャンセル情報を送信するようにすることで、事情変更に対応することが可能となる。
キャンセル情報をメッセージング機能またはInfo/Query機能を用いて送信するようにすることで、インスタントメッセージを利用してキャンセル情報を送信することが可能となる。
キャンセル情報にリファレンス番号、提供者エンティティ識別子、および利用者エンティティ識別子を含めるようにすることで、勧誘情報をきめ細かく、かつ確実にキャンセルすることが可能となる。
また、本発明によれば、識別情報を受信するようにすることで、はじめから詳細情報を受信せずとも、サービスプロバイダのサービスを識別することが可能となる。
また、識別情報に基づいて、その後、詳細情報の送信を要求するようにすることで、サービスプロバイダまでのトラフィックに与える負荷を軽減することが可能となる。
サービスに関して自分自身を登録するように要求することで、より効率的にサービスを利用することが可能となる。
提供可能なサービスの利用に関する情報を、サービスプロバイダに送信するようにすることで、サービスプロバイダから確実にサービスの提供を受けることが可能となる。
プロバイダに直接接続する接続情報を受信するようにすることで、サービスプロバイダから直接サービスの提供を受けることが可能となる。
接続情報に基づいてアクセスすることで、サービスプロバイダと直接情報を授受することが可能となる。
詳細情報の送信の要求、自分自身の登録の要求、並びに提供可能なサービスの利用に関する情報の送信を、メッセージング機能またはInfo/Query機能を用いて行うようにすることで、インスタントメッセージを利用することが可能となる。
識別情報とともに、提供者エンティティ識別子を受信するようにすることで、提供者エンティティ識別子と利用者エンティティ識別子を対応して記憶することが可能となり、その記憶に基づいて複数のサービスの利用を管理することが可能となる。
勧誘情報を受信するようにすることで、プッシュ型のサービスの提供を受けることが可能となる。
勧誘情報の受け入れまたは拒否の情報を送信するようにすることで、自らの意志で勧誘情報を受け入れたり、または拒否したりすることが可能となる。
勧誘情報の受け入れまたは拒否の送信をメッセージング機能またはInfo/Query機能を用いるようにすることで、インスタントメッセージを利用することが可能となる。
提供可能なサービスの利用に関する情報を、受け入れの情報が送信された場合に送信するようにすることで、提供可能なサービスの利用に関する情報を、無駄に送信することを防止することができる。
受け入れまたは拒否の情報に、リファレンス番号、提供者エンティティ識別子および利用者エンティティ識別子を含めるようにすることで、受け入れまたは拒否するサービスを確実に特定することが可能となる。
サービスプロバイダとしての機能とサービスコンシューマとしての機能の両方を持ち合わせることで、必要に応じてサービスを提供したり、逆にサービスを利用することが可能となる。
なお、以上におけるサービスには、ビデオデータ、オーディオデータ、その他のデータの他、各種の情報を授受する場合の他、各種のサービスを授受する場合に適応することができる。
また、利用可能な装置もパーソナルコンピュータ、PDA等のコンシューマエレクトロニクス(CE)機器に限らず、各種の情報処理装置することができる。
なお、上述した処理は、ネットワーク対応のCE機器等の場合、ハードウェアにより実行することもできる。勿論、ソフトウェアにより実行することもできる。
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
この記録媒体は、図12に示されるように、装置本体とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク141(フロッピディスクを含む)、光ディスク142(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク143(MD(Mini-Disk)を含む)、もしくは半導体メモリ144などよりなるパッケージメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM122や、記憶部128に含まれるハードディスクなどで構成される。
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
本発明は、パーソナルコンピュータ、ネットワーク対応CE機器及びインターネット上の商用アプリケーションサーバに適用することができる。
本発明を適用したネットワークシステムの構成例を示す図である。 ソフトウェアの階層を説明する図である。 本発明を適用したネットワークシステムの動作の概要を説明する図である。 図1のネットワークシステムの動作を説明するフローチャートである。 図1のネットワークシステムの動作を説明するフローチャートである。 図1のネットワークシステムの動作を説明するフローチャートである。 図1のネットワークシステムの動作を説明するフローチャートである。 プロファイルスペースの例を示す図である。 プロファイルディスクリプションの例を示す図である。 プロファイルアトムの例を示す図である。 サービスプロバイダの一覧の表示例を示す図である。 パーソナルコンピュータの構成例を示すブロック図である。 図1のネットワークシステムの動作を説明するフローチャートである。 図1のネットワークシステムの動作を説明するフローチャートである。 サービスエンティティを説明する図である。 サービスプロバイダエンティティとサービスコンシューマエンティティの対応関係を説明する図である。 サービスプロバイダエンティティとサービスコンシューマエンティティの対応関係を説明する図である。 図1のネットワークシステムの動作を説明するフローチャートである。 図1のネットワークシステムの動作を説明するフローチャートである。 図1のネットワークシステムの動作を説明するフローチャートである。 図1のネットワークシステムの動作を説明するフローチャートである。
符号の説明
1 インターネット, 11,12 パーソナルコンピュータ, 13 PDA, 14 メディアIMサーバ, 31 IPネットワークトランスポート層, 32 メディアIMクライアントミドルウェア, 33 API

Claims (26)

  1. ネットワークを介して第1の情報処理装置と情報を授受する処理を実行するコンピュータのプログラムであって、
    インスタントメッセージのクライアントである前記第1の情報処理装置に対して、提供可能なサービスを識別する識別情報を、前記インスタントメッセージのプレゼンス機能を用いて、前記ネットワーク上の、前記インスタントメッセージのサーバである第2の情報処理装置を介して通知する第1の通知ステップと、
    前記第1の情報処理装置からの要求に基づいて、前記第1の情報処理装置に対して、提供可能なサービスに関する詳細情報を、前記インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、前記第2の情報処理装置を介して通知する第2の通知ステップと、
    前記第1の情報処理装置からの要求に基づいて、前記第1の情報処理装置が前記第2の情報処理装置を介さずに接続するための接続情報を、前記インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、前記第2の情報処理装置を介して前記第1の情報処理装置に通知する第3の通知ステップと
    を含むプログラム。
  2. 登録された前記第1の情報処理装置から前記第2の情報処理装置を介さずに前記接続情報に基づくアクセスを受けた場合、そのアクセスを受け付ける受け付けステップ
    をさらに含む請求項1に記載のプログラム。
  3. 前記第1の通知ステップは、前記サービスを提供する提供者としてのエンティティを識別する提供者エンティティ識別子をさらに通知する
    請求項1に記載のプログラム。
  4. 前記第1の情報処理装置を、提供可能な前記サービスに関して登録することの要求が、前記提供者エンティティ識別子に対応する、前記サービスを利用する利用者としてのエンティティを識別する利用者エンティティ識別子とともに、前記第1の情報処理装置から送信されてきたとき、前記提供者エンティティ識別子と前記利用者エンティティ識別子を対応して登録する登録ステップ
    をさらに含む請求項3に記載のプログラム。
  5. 前記利用者エンティティ識別子に対応する前記エンティティに対して、前記サービスの利用を勧誘する勧誘情報を送信する第1の送信ステップ
    をさらに含む請求項4に記載のプログラム。
  6. 前記第1の送信ステップは、前記勧誘情報を、インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて送信する
    請求項5に記載のプログラム。
  7. 前記第1の送信ステップは、前記登録ステップの処理により登録された前記利用者エンティティ識別子に対応する前記利用者に、前記勧誘情報を送信する
    請求項5に記載のプログラム。
  8. 前記第1の送信ステップの処理により、前記勧誘情報が送信された後、前記サービスの利用の勧誘をキャンセルするキャンセル情報を送信する第2の送信ステップ
    をさらに含む請求項5に記載のプログラム。
  9. 前記第2の送信ステップは、前記キャンセル情報を、インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて送信する
    請求項8に記載のプログラム。
  10. 前記第2の送信ステップは、前記キャンセル情報に、前記キャンセル情報を識別するためのリファレンス番号、前記提供者エンティティ識別子、および前記利用者エンティティ識別子を含める
    請求項8に記載のプログラム。
  11. ネットワークを介して第1の他の情報処理装置と情報を授受する情報処理装置の情報処理方法において、
    前記情報処理装置が、インスタントメッセージのクライアントである前記第1の他の情報処理装置に対して、提供可能なサービスを識別する識別情報を、前記インスタントメッセージのプレゼンス機能を用いて、前記ネットワーク上の、前記インスタントメッセージのサーバである第2の他の情報処理装置を介して通知する第1の通知ステップと、
    前記情報処理装置が、前記第1の他の情報処理装置からの要求に基づいて、前記第1の他の情報処理装置に対して、提供可能なサービスに関する詳細情報を、前記インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、前記第2の他の情報処理装置を介して通知する第2の通知ステップと、
    前記情報処理装置が、前記第1の他の情報処理装置からの要求に基づいて、前記第1の他の情報処理装置が前記第2の他の情報処理装置を介さずに前記情報処理装置に接続するための接続情報を、前記インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、前記第2の他の情報処理装置を介して前記第1の他の情報処理装置に通知する第3の通知ステップと
    を含む情報処理方法。
  12. ネットワーク介して第1の他の情報処理装置と情報を授受する情報処理装置において、
    インスタントメッセージのクライアントである前記第1の他の情報処理装置に対して、提供可能なサービスを識別する識別情報を、前記インスタントメッセージのプレゼンス機能を用いて、前記ネットワーク上の、前記インスタントメッセージのサーバである第2の他の情報処理装置を介して通知する第1の通知手段と、
    前記第1の他の情報処理装置からの要求に基づいて、前記第1の他の情報処理装置に対して、提供可能なサービスに関する詳細情報を、前記インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、前記第2の他の情報処理装置を介して通知する第2の通知手段と、
    前記第1の他の情報処理装置からの要求に基づいて、前記第1の他の情報処理装置が前記第2の他の情報処理装置を介さずに前記情報処理装置に接続するための接続情報を、前記インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、前記第2の他の情報処理装置を介して前記第1の他の情報処理装置に通知する第3の通知手段と
    を備える情報処理装置。
  13. ネットワークを介して第1の情報処理装置と情報を授受する処理を実行するコンピュータのプログラムであって、
    インスタントメッセージのクライアントである前記第1の情報処理装置から、提供可能なサービスを識別する識別情報を、前記インスタントメッセージのプレゼンス機能を用いて、前記ネットワーク上の、前記インスタントメッセージのサーバである第2の情報処理装置を介して受信する第1の受信ステップと、
    前記第1の情報処理装置に対して、提供可能なサービスに関する詳細情報の送信を、前記インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、前記第2の情報処理装置を介して要求する第1の要求ステップと、
    前記第1の情報処理装置に対して、提供可能な前記サービスに関して自分自身を登録するように、前記インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、前記第2の情報処理装置を介して要求する第2の要求ステップと、
    前記第1の情報処理装置に対して、提供可能な前記サービスの利用に関する情報を、前記インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、前記第2の情報処理装置を介して送信する第1の送信ステップと、
    前記第2の情報処理装置を介さずに自分自身に接続するための接続情報を、前記インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、前記第1の情報処理装置から、前記第2の情報処理装置を介して受信する第2の受信ステップと
    を含むプログラム。
  14. 前記第2の情報処理装置を介さずに前記接続情報に基づいてアクセスするアクセスステップ
    をさらに含む請求項13に記載のプログラム。
  15. 前記第1の受信ステップは、前記識別情報とともに、前記サービスを提供する提供者としてのエンティティを識別する提供者エンティティ識別子をさらに受信し、
    前記提供者エンティティ識別子と、前記サービスを利用する利用者としてのエンティティを識別する利用者エンティティ識別子を対応して記憶する記憶ステップ
    をさらに含む請求項13に記載のプログラム。
  16. 前記第1の情報処理装置が送信した前記サービスの利用を勧誘する勧誘情報を受信する第3の受信ステップ
    をさらに含む請求項15に記載のプログラム。
  17. 前記第3の受信ステップの処理により前記勧誘情報が受信された場合、受け入れまたは拒否の情報を、前記第1の情報処理装置に送信する第2の送信ステップを
    さらに含む請求項16に記載のプログラム。
  18. 前記第2の送信ステップの送信は、インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて行う
    請求項17に記載のプログラム。
  19. 第1の送信ステップは、前記第3の受信ステップが行われた場合、提供可能な前記サービスの利用に関する情報を、前記第2の送信ステップの処理により、前記受け入れの情報が送信された場合に送信する
    請求項17に記載のプログラム。
  20. 前記第1の送信ステップは、前記提供者エンティティ識別子、および前記利用者エンティティ識別子を含める
    請求項19に記載のプログラム。
  21. 前記第2の送信ステップは、前記受け入れまたは拒否の情報に、前記受け入れまたは拒否の情報を識別するためのリファレンス番号、前記提供者エンティティ識別子、および前記利用者エンティティ識別子を含める
    請求項17に記載のプログラム。
  22. ネットワークを介して第1の他の情報処理装置と情報を授受する情報処理装置の情報処理方法において、
    前記情報処理装置が、インスタントメッセージのクライアントである前記第1の他の情報処理装置から、提供可能なサービスを識別する識別情報を、前記インスタントメッセージのプレゼンス機能を用いて、前記ネットワーク上の、前記インスタントメッセージのサーバである第2の他の情報処理装置を介して受信する第1の受信ステップと、
    前記情報処理装置が、前記第1の他の情報処理装置に対して、提供可能なサービスに関する詳細情報の送信を、前記インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、前記第2の他の情報処理装置を介して要求する第1の要求ステップと、
    前記情報処理装置が、前記第1の他の情報処理装置に対して、提供可能な前記サービスに関して前記情報処理装置を登録するように、前記インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、前記第2の他の情報処理装置を介して要求する第2の要求ステップと、
    前記情報処理装置が、前記第1の他の情報処理装置に対して、提供可能な前記サービスの利用に関する情報を、前記インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、前記第2の他の情報処理装置を介して送信する送信ステップと、
    前記情報処理装置が、前記第2の他の情報処理装置を介さずに前記情報処理装置に接続するための接続情報を、前記インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、前記第1の他の情報処理装置から、前記第2の他の情報処理装置を介して受信する第2の受信ステップと
    を含む情報処理方法。
  23. ネットワークを介して第1の他の情報処理装置と情報を授受する情報処理装置において、
    インスタントメッセージのクライアントである前記第1の他の情報処理装置から、提供可能なサービスを識別する識別情報を、前記インスタントメッセージのプレゼンス機能を用いて、前記ネットワーク上の、前記インスタントメッセージのサーバである第2の他の情報処理装置を介して受信する第1の受信手段と、
    前記第1の他の情報処理装置に対して、提供可能なサービスに関する詳細情報の送信を、前記インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、前記第2の他の情報処理装置を介して要求する第1の要求手段と、
    前記第1の他の情報処理装置に対して、提供可能な前記サービスに関して前記情報処理装置を登録するように、前記インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、前記第2の他の情報処理装置を介して要求する第2の要求手段と、
    前記第1の他の情報処理装置に対して、提供可能な前記サービスの利用に関する情報を、前記インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、前記第2の他の情報処理装置を介して送信する送信手段と、
    前記第2の他の情報処理装置を介さずに前記情報処理装置に接続するための接続情報を、前記インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、前記第1の他の情報処理装置から、前記第2の他の情報処理装置を介して受信する第2の受信手段と
    を備える情報処理装置。
  24. ネットワークを介して第1の情報処理装置と情報を授受する処理を実行するコンピュータのプログラムであって、
    インスタントメッセージのクライアントである前記第1の情報処理装置に対して、提供可能なサービスを識別する識別情報を、前記インスタントメッセージのプレゼンス機能を用いて、前記ネットワーク上の、前記インスタントメッセージのサーバである第2の情報処理装置を介して通知する第1の通知ステップと、
    前記第1の情報処理装置からの要求に基づいて、前記第1の情報処理装置に対して、提供可能なサービスに関する詳細情報を、前記インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、前記第2の情報処理装置を介して通知する第2の通知ステップと、
    前記第1の情報処理装置からの要求に基づいて、前記第1の情報処理装置が前記第2の情報処理装置を介さずに自分自身に接続するための接続情報を、前記インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、前記第2の情報処理装置を介して前記第1の情報処理装置に通知する第3の通知ステップと、
    前記第1の情報処理装置から、前記識別情報を、前記インスタントメッセージのプレゼンス機能を用いて、前記第2の情報処理装置を介して受信する第1の受信ステップと、
    前記第1の情報処理装置に対して、提供可能なサービスに関する前記詳細情報の送信を、前記インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、前記第2の情報処理装置を介して要求する第1の要求ステップと、
    前記第1の情報処理装置に対して、提供可能な前記サービスに関して自分自身を登録するように、前記インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、前記第2の情報処理装置を介して要求する第2の要求ステップと、
    前記第1の情報処理装置に対して、提供可能な前記サービスの利用に関する情報を、前記インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、前記第2の情報処理装置を介して送信する送信ステップと、
    前記第2の情報処理装置を介さずに自分自身に接続するための接続情報を、前記インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、前記第1の情報処理装置から、前記第2の情報処理装置を介して受信する第2の受信ステップと
    を含むプログラム。
  25. ネットワークを介して第1の他の情報処理装置と情報を授受する情報処理装置の情報処理方法において、
    前記情報処理装置が、インスタントメッセージのクライアントである前記第1の他の情報処理装置に対して、提供可能なサービスを識別する識別情報を、前記インスタントメッセージのプレゼンス機能を用いて、前記ネットワーク上の、前記インスタントメッセージのサーバである第2の他の情報処理装置を介して通知する第1の通知ステップと、
    前記情報処理装置が、前記第1の他の情報処理装置からの要求に基づいて、前記第1の他の情報処理装置に対して、提供可能なサービスに関する詳細情報を、前記インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、前記第2の他の情報処理装置を介して通知する第2の通知ステップと、
    前記情報処理装置が、前記第1の他の情報処理装置からの要求に基づいて、前記第1の他の情報処理装置が前記第2の他の情報処理装置を介さずに前記情報処理装置に接続するための接続情報を、前記インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、前記第2の他の情報処理装置を介して前記第1の他の情報処理装置に通知する第3の通知ステップと、
    前記情報処理装置が、前記第1の他の情報処理装置から、前記識別情報を、前記インスタントメッセージのプレゼンス機能を用いて、前記第2の他の情報処理装置を介して受信する第1の受信ステップと、
    前記情報処理装置が、前記第1の他の情報処理装置に対して、提供可能なサービスに関する前記詳細情報の送信を、前記インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、前記第2の他の情報処理装置を介して要求する第1の要求ステップと、
    前記情報処理装置が、前記第1の他の情報処理装置に対して、提供可能な前記サービスに関して前記情報処理装置を登録するように、前記インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、前記第2の他の情報処理装置を介して要求する第2の要求ステップと、
    前記情報処理装置が、前記第1の他の情報処理装置に対して、提供可能な前記サービスの利用に関する情報を、前記インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、前記第2の他の情報処理装置を介して送信する送信ステップと、
    前記情報処理装置が、前記第2の他の情報処理装置を介さずに前記情報処理装置に接続するための接続情報を、前記インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、前記第1の他の情報処理装置から、前記第2の他の情報処理装置を介して受信する第2の受信ステップと
    を含む情報処理方法。
  26. ネットワークを介して第1の他の情報処理装置と情報を授受する情報処理装置において、
    インスタントメッセージのクライアントである前記第1の他の情報処理装置に対して、提供可能なサービスを識別する識別情報を、前記インスタントメッセージのプレゼンス機能を用いて、前記ネットワーク上の、前記インスタントメッセージのサーバである第2の他の情報処理装置を介して通知する第1の通知手段と、
    前記第1の他の情報処理装置からの要求に基づいて、前記第1の他の情報処理装置に対して、提供可能なサービスに関する詳細情報を、前記インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、前記第2の他の情報処理装置を介して通知する第2の通知手段と、
    前記第1の他の情報処理装置からの要求に基づいて、前記第1の他の情報処理装置が前記第2の他の情報処理装置を介さずに前記情報処理装置に接続するための接続情報を、前記インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、前記第2の他の情報処理装置を介して前記第1の他の情報処理装置に通知する第3の通知手段と、
    前記第1の他の情報処理装置から、前記識別情報を、前記インスタントメッセージのプレゼンス機能を用いて、前記第2の他の情報処理装置を介して受信する第1の受信手段と、
    前記第1の他の情報処理装置に対して、提供可能なサービスに関する前記詳細情報の送信を、前記インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、前記第2の他の情報処理装置を介して要求する第1の要求手段と、
    前記第1の他の情報処理装置に対して、提供可能な前記サービスに関して前記情報処理装置を登録するように、前記インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、前記第2の他の情報処理装置を介して要求する第2の要求手段と、
    前記第1の他の情報処理装置に対して、提供可能な前記サービスの利用に関する情報を、前記インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、前記第2の他の情報処理装置を介して送信する送信手段と、
    前記第2の他の情報処理装置を介さずに前記情報処理装置に接続するための接続情報を、前記インスタントメッセージのメッセージング機能またはInfo/Query機能を用いて、前記第1の他の情報処理装置から、前記第2の他の情報処理装置を介して受信する第2の受信手段と
    を備える情報処理装置。
JP2005505580A 2002-07-30 2003-07-30 プログラム、情報処理方法および装置 Expired - Fee Related JP4411545B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2002221129 2002-07-30
JP2002221129 2002-07-30
JP2002260805 2002-09-06
JP2002260805 2002-09-06
PCT/JP2003/009631 WO2004012087A1 (ja) 2002-07-30 2003-07-30 プログラム、情報処理方法および装置

Publications (2)

Publication Number Publication Date
JPWO2004012087A1 JPWO2004012087A1 (ja) 2005-11-24
JP4411545B2 true JP4411545B2 (ja) 2010-02-10

Family

ID=31190324

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005505580A Expired - Fee Related JP4411545B2 (ja) 2002-07-30 2003-07-30 プログラム、情報処理方法および装置

Country Status (6)

Country Link
US (2) US7886064B2 (ja)
EP (1) EP1528476B1 (ja)
JP (1) JP4411545B2 (ja)
KR (1) KR100991221B1 (ja)
CN (1) CN100343835C (ja)
WO (1) WO2004012087A1 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7636922B2 (en) * 2004-05-03 2009-12-22 Microsoft Corporation Generic user interface command architecture
US20060093119A1 (en) * 2004-11-03 2006-05-04 Wilson Richard A Jr Leveraging real-time communications client
US20060098722A1 (en) * 2004-11-09 2006-05-11 Osamu Tanaka Repeating installation, communication speed adjusting method, program, and recording medium
CN101080704B (zh) * 2005-01-21 2010-04-21 松下电器产业株式会社 Av服务器设备
US20060242236A1 (en) * 2005-04-22 2006-10-26 Microsoft Corporation System and method for extensible computer assisted collaboration
US7752253B2 (en) * 2005-04-25 2010-07-06 Microsoft Corporation Collaborative invitation system and method
US8787967B2 (en) * 2005-08-23 2014-07-22 Sony Corporation Communication terminals with pull-based digital information distribution capability and pull-based methods for digital information distribution
JP4568246B2 (ja) * 2006-03-30 2010-10-27 株式会社東芝 サーバ装置
US9077584B2 (en) * 2006-08-01 2015-07-07 Samsung Electronics Co., Ltd System and method for managing user preference profile
CN101616169B (zh) * 2008-06-23 2013-03-13 华为技术有限公司 选择服务提供实体的方法、系统、服务选择实体、服务管理实体
CA2815569C (en) 2010-10-25 2016-03-01 Research In Motion Limited System and method for enabling applications to communicate using a peer-to-peer (p2p) system
US9124436B2 (en) 2010-12-16 2015-09-01 Cellco Partnership Intelligent automated data usage upgrade recommendation
US9043455B1 (en) * 2011-04-06 2015-05-26 Cellco Partnership Universal data remote
US9723092B1 (en) 2011-04-07 2017-08-01 Cellco Partnership Universal data remote application framework
US9198038B2 (en) * 2011-06-13 2015-11-24 Qualcomm Incorporated Apparatus and methods of identity management in a multi-network system
US8953490B2 (en) 2012-03-02 2015-02-10 Blackberry Limited Methods and apparatus for use in facilitating Wi-Fi peer-to-peer (P2P) wireless networking
JP6168839B2 (ja) * 2013-05-15 2017-07-26 キヤノン株式会社 情報処理装置、その制御方法、プログラム
US9843548B2 (en) * 2014-12-09 2017-12-12 American Megatrends, Inc. System and method of user-to-machine and machine-to-machine communication through instant messaging
US11388040B2 (en) 2018-10-31 2022-07-12 EXFO Solutions SAS Automatic root cause diagnosis in networks
US11645293B2 (en) 2018-12-11 2023-05-09 EXFO Solutions SAS Anomaly detection in big data time series analysis
US11138163B2 (en) * 2019-07-11 2021-10-05 EXFO Solutions SAS Automatic root cause diagnosis in networks based on hypothesis testing
US11522766B2 (en) 2020-02-12 2022-12-06 EXFO Solutions SAS Method and system for determining root-cause diagnosis of events occurring during the operation of a communication network
US12052134B2 (en) 2021-02-02 2024-07-30 Exfo Inc. Identification of clusters of elements causing network performance degradation or outage

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2519390B2 (ja) * 1992-09-11 1996-07-31 インターナショナル・ビジネス・マシーンズ・コーポレイション デ―タ通信方法及び装置
US6424623B1 (en) * 1996-10-15 2002-07-23 Motorola, Inc. Virtual queuing system using proximity-based short-range wireless links
US6636733B1 (en) * 1997-09-19 2003-10-21 Thompson Trust Wireless messaging method
FI980427A (fi) * 1998-02-25 1999-08-26 Ericsson Telefon Ab L M Menetelmä, järjestely ja laite todentamiseen
JP2000115233A (ja) 1998-09-29 2000-04-21 Nippon Telegr & Teleph Corp <Ntt> Ipネットワーク区間性能及び状態測定方法
US6654801B2 (en) * 1999-01-04 2003-11-25 Cisco Technology, Inc. Remote system administration and seamless service integration of a data communication network management system
JP3587352B2 (ja) 1999-02-04 2004-11-10 富士通株式会社 ネットワーク通信性能測定方法及び装置並びにネットワーク通信性能測定プログラムを格納したコンピュータ読取り可能な記録媒体
DE60045327D1 (de) * 1999-06-17 2011-01-20 Level 3 Communications Inc System und Verfahren zur integrierter Lastverteilung und Betriebsmittelverwaltung in einer Internet-Umgebung
US7174564B1 (en) * 1999-09-03 2007-02-06 Intel Corporation Secure wireless local area network
US7010492B1 (en) * 1999-09-30 2006-03-07 International Business Machines Corporation Method and apparatus for dynamic distribution of controlled and additional selective overlays in a streaming media
EP1130869B1 (en) * 2000-03-01 2005-06-01 Sony International (Europe) GmbH Management of user profile data
US7231517B1 (en) * 2000-03-03 2007-06-12 Novell, Inc. Apparatus and method for automatically authenticating a network client
CA2403765A1 (en) * 2000-03-20 2001-09-27 At&T Corp. Method and apparatus for coordinating user selection of network service providers over a broadband communications network
US6826609B1 (en) * 2000-03-31 2004-11-30 Tumbleweed Communications Corp. Policy enforcement in a secure data file delivery system
JP2001313666A (ja) 2000-04-27 2001-11-09 Ntt Communications Kk インスタント・メッセージ通信システム
US7716492B1 (en) * 2000-05-09 2010-05-11 Oracle America, Inc. Method and apparatus to obtain service capability credentials
US6898618B1 (en) * 2000-05-09 2005-05-24 Sun Microsystems, Inc. Client-specified display services in a distributed computing environment
US7546337B1 (en) * 2000-05-18 2009-06-09 Aol Llc, A Delaware Limited Liability Company Transferring files
US8719562B2 (en) * 2002-10-25 2014-05-06 William M. Randle Secure service network and user gateway
US20010051981A1 (en) * 2000-06-05 2001-12-13 Microsoft Corporation Methods and systems for discovering object-exchange resources on a network
JP2002007296A (ja) * 2000-06-22 2002-01-11 Ntt Communications Kk コミュニケーション制御方法及びシステム及びコミュニケーション制御プログラムを格納した記憶媒体
JP2002033733A (ja) 2000-07-17 2002-01-31 Sharp Corp ホストコンピュータとネットワークシステム
US7088720B1 (en) * 2000-08-07 2006-08-08 Sbc Technology Resources, Inc. Multiservice use of network connection capability under user-to-network interface signaling
US7594030B2 (en) * 2000-11-22 2009-09-22 Microsoft Corporation Locator and tracking service for peer to peer resources
US20070136817A1 (en) * 2000-12-07 2007-06-14 Igt Wager game license management in a peer gaming network
US7225156B2 (en) * 2001-07-11 2007-05-29 Fisher Douglas C Persistent dynamic payment service
US7085840B2 (en) * 2001-10-29 2006-08-01 Sun Microsystems, Inc. Enhanced quality of identification in a data communications network
US7130921B2 (en) * 2002-03-15 2006-10-31 International Business Machines Corporation Centrally enhanced peer-to-peer resource sharing method and apparatus
US6978316B2 (en) * 2002-03-27 2005-12-20 International Business Machines Corporation Messaging system and method with transcoder filtering of baseline message representations
US7174382B2 (en) * 2002-04-09 2007-02-06 Hewlett-Packard Development Company, L.P. Interest-based connections in peer-to-peer networks
US7062253B2 (en) * 2002-04-10 2006-06-13 Sprint Spectrum L.P. Method and system for real-time tiered rating of communication services
US7089313B2 (en) * 2002-07-25 2006-08-08 Matsushita Electric Industrial Co., Ltd. Protocol independent communication system for mobile devices

Also Published As

Publication number Publication date
EP1528476A1 (en) 2005-05-04
KR100991221B1 (ko) 2010-11-04
US8281016B2 (en) 2012-10-02
US20040255031A1 (en) 2004-12-16
KR20050023211A (ko) 2005-03-09
WO2004012087A1 (ja) 2004-02-05
CN100343835C (zh) 2007-10-17
EP1528476B1 (en) 2016-03-09
US20080183875A1 (en) 2008-07-31
JPWO2004012087A1 (ja) 2005-11-24
EP1528476A4 (en) 2011-03-16
CN1564985A (zh) 2005-01-12
US7886064B2 (en) 2011-02-08

Similar Documents

Publication Publication Date Title
JP4411545B2 (ja) プログラム、情報処理方法および装置
US8099500B2 (en) Policy service system architecture for sessions created using STUN
EP2438745B1 (en) Systems and methods for creating virtual universal plug-and-play systems
US9774824B1 (en) System, method, and logic for managing virtual conferences involving multiple endpoints
US20090080404A1 (en) Active profile selection
US20060004924A1 (en) Method and system providing support for location and service category service discovery in a SIP environment using a SIP event package, forking and AOR registration
JP2004531798A (ja) プレゼンス管理の実現
JP2006094488A (ja) 経路情報に関するストレージ要件の軽減
JP4458041B2 (ja) プログラム、情報処理方法および装置、並びにデータ構造
US20060064492A1 (en) Systems and methods for smart communication
KR101973531B1 (ko) 복수의 클라이언트 간의 어플리케이션 자동 공유 방법 및 장치
US7779115B2 (en) Method and apparatus for processing client capability information over a network
JP2012510125A (ja) オンラインサービスシンジケーション
US8224975B1 (en) Web service initiation protocol for multimedia and voice communication over internet protocol
JP2008219723A (ja) Sipサービスシステム、およびそれに用いる装置、方法並びにプログラム
JP2009187320A (ja) サービス提供システム、サービス提供方法およびサービス提供プログラム
JP5282513B2 (ja) ネットワーク機器管理装置及びネットワーク機器管理システム
KR20100090089A (ko) 통신 시스템에서 세션 히스토리 송수신 방법
KR101546387B1 (ko) 단말들간의 콘텐츠 공유 프로세스를 수행하는 콘텐츠 공유 서버 및 방법, 그리고 단말
EP2093966A1 (en) Configuring a network communication under control of a rule base
JP2005025482A (ja) プレゼンス・システム
US20100250570A1 (en) Apparatus and method for managing presence information in mobile communication system
KR20070069558A (ko) 액세스 그리드에서의 다자간 통신 시스템 및 그 방법

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060728

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060728

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090804

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090928

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

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

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

Free format text: PAYMENT UNTIL: 20121127

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131127

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees