JP2003208364A - 情報処理システム、情報処理方法、及び情報処理ネットワークプログラム - Google Patents

情報処理システム、情報処理方法、及び情報処理ネットワークプログラム

Info

Publication number
JP2003208364A
JP2003208364A JP2002004524A JP2002004524A JP2003208364A JP 2003208364 A JP2003208364 A JP 2003208364A JP 2002004524 A JP2002004524 A JP 2002004524A JP 2002004524 A JP2002004524 A JP 2002004524A JP 2003208364 A JP2003208364 A JP 2003208364A
Authority
JP
Japan
Prior art keywords
information processing
information
server
data
module
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.)
Pending
Application number
JP2002004524A
Other languages
English (en)
Inventor
Hiroshi Hasegawa
寛 長谷川
Junji Oi
純司 大井
Shigehiko Nishizawa
繁彦 西澤
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 JP2002004524A priority Critical patent/JP2003208364A/ja
Publication of JP2003208364A publication Critical patent/JP2003208364A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Computer And Data Communications (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

(57)【要約】 【課題】 動画の使用や接続するクライアントの数の増
加などに起因する過大なトラフィックを有効に抑えるこ
とが可能となる情報処理システムを提供する。 【解決手段】サーバとして機能する一対の第1の情報処
理装置2、3と、クライアントとして機能し前記第1の
情報処理装置の一方と接続されると共に前記第1の情報
処理装置の他方と非接続とされる第2の情報処理装置4
a、4b、4cと、クライアントとして機能し前記第1
の情報処理装置の他方と接続されると共に前記第1の情
報処理装置の一方と非接続とされる第3の情報処理装置
5a、5b、5cと、前記各情報処理装置の間を接続す
る情報通信網とからなり、ネットワークアプリケーショ
ンの動作中には前記一対の第1の情報処理装置2、3同
士が接続を確立する。個別にクライアント間で送信する
場合に比べてデータ量を低減できる。

Description

【発明の詳細な説明】
【0001】
【発明が属する技術分野】本発明はインターネットなど
の情報処理網を介してコンピュータやその他の電子機器
などの情報処理装置間におけるネットワークアプリケー
ションを実行し得る情報処理システム、このような情報
処理システムに適用される情報処理方法、更には情報処
理装置間におけるネットワークアプリケーションを実行
するための情報処理ネットワークプログラムに関し、特
にネットワークにおけるトラフィックを適切に分散でき
る情報処理システム、情報処理方法、及び情報処理ネッ
トワークプログラムに関する。
【0002】
【従来の技術】従来から、多数のコンピュータ装置が接
続されたコンピュータネットワークとして、いわゆるイ
ンターネット(The Internet)が広く普及している。イ
ンターネットは、TCP/IP(Transmission Control
Protocol / Internet Protocol)を代表とする各種の
プロトコル(相互接続手順)を利用して、コンピュータ
同士の間で様々な情報を自在に送受信することが可能と
されている。
【0003】このうちIPは、OSI参照モデルの第3層で
あるネットワーク層のプロトコルを意味し、このネット
ワーク層においては、送信するデータにIPヘッダと呼ば
れるフォーマット部分が付加される。このIPヘッダに
は、送信元のIPアドレス(Source IP Address)とあて先
のIPアドレス(Destination IP Address)が含まれる。現
在使用されているIPアドレスはIPv4 (Internet Proto
col version 4)であり、次世代ではIPv6(Internet Pr
otocol version 6)が使用される。IPv4の場合、IPア
ドレスは8ビットの数字を4つ並べたもので表記され、
インターネット技術の基本要素の1つである。
【0004】このIPアドレスには、その管理の上で大き
く分けて2つの種類があり、1つはグローバルIPアドレ
スであり、他の1つはプライベートIPアドレスである。
グローバルIPアドレスは、NIC(Network Information C
enter)から割り当てられたインターネット上で唯一の
アドレスであり、インターネットに直接接続されるコン
ピュータには重複の許されないグローバルIPアドレスが
割り当てられる。プライベートIPアドレスは直接インタ
ーネットに接続されない例えば企業内LAN(Local Area
Network)の各コンピュータに通常そのネットワーク管
理者やDHCP(Dynamic Host Configuration Protocol)な
どによって割り当てられる。プライベートIPアドレスに
ついては、RFC(Request for Comments)1597に、3つの
クラスのアドレス範囲が示されており、例えば[192.16
8.xxx.xxx]のように閉じたLAN内で通常設定されるIPア
ドレスが予約されている。
【0005】ところで、インターネットなどの情報処理
網に接続されたコンピュータ装置のユーザの間で、意志
や感情の相互伝達(コミュニケーション)を行う場合、
電子メールを利用してコミュニケーションを図る手法
や、いわゆるチャットプログラムを利用してコミュニケ
ーションを図る手法がとられている。特にチャットプロ
グラムを用いる場合では、コミュニケーションに高いリ
アルタイム性が伴うと言う利点が有り、最近では、上述
したチャットプログラムにおいて送受信する文字データ
に代えて動画像データを送受信する、いわゆる動画チャ
ットプログラムも実現されている。動画チャットプログ
ラムは、例えば、コンピュータ装置に接続又は搭載され
た撮像装置により取り込んだユーザの表情などの動画像
データをユーザ間で送受信することによって、いわばテ
レビジョン電話のようにして相手側のユーザとの間で送
受信するプログラムであり、最近の通信速度の高速化に
応じて普及してきているアプリケーションである。
【0006】コンピュータなどの情報処理装置を接続さ
せ相手の装置にデータを送信するための接続形態として
は、クライアント・サーバ(client/server)型接続と、
ピアツーピア(peer to peer)型接続が存在する。クライ
アント・サーバ型接続では、クライアントとして機能す
る情報処理装置とサーバとして機能する情報処理装置が
分かれており、特にサーバとして機能する情報処理装置
にアクセス制御などの管理機能を持たせることもでき、
クライアント・サーバ型接続では、ネットワークの拡張
性に優れると言う利点がある。
【0007】図18はクライアント・サーバ型接続の通
信形態を示す図である。パーソナルコンピュータ101
はサーバとして機能し、パーソナルコンピュータ10
2、103、104はクライアントとして機能する。こ
れらパーソナルコンピュータ101〜104は、LANや
インターネットなどのネットワーク105により接続さ
れ、共通のコミュニケーションアプリケーションが起動
する。サーバとして機能するパーソナルコンピュータ1
01はインターネットを介して接続可能であり、当該パ
ーソナルコンピュータ101はグローバルIPアドレスが
付与されている。クライアントのパーソナルコンピュー
タ102、103、104は、グローバルIPアドレスを
必要とせず、プライベートIPアドレスだけでルーティン
グが可能であり、所定のデータ通信を行うことができ
る。
【0008】パーソナルコンピュータ102からパーソ
ナルコンピュータ103にデータを送信する際には、先
ず、パーソナルコンピュータ102からサーバとして機
能するパーソナルコンピュータ101に通信路106、
107を介してデータが送られ、次にそのデータを受け
たパーソナルコンピュータ101が通信路108,10
9を介してパーソナルコンピュータ103にデータを送
る。このようなクライアント・サーバ型接続形態におい
ては、一旦サーバに接続する必要があり、クライアント
装置であるパーソナルコンピュータ102とパーソナル
コンピュータ103の間では直接データの送信をするこ
とはできない。
【0009】このようなクライアント・サーバ型の接続
形態は、インターネットにルータを介して接続する企業
内LANのような小規模LANシステムなどに典型的に見られ
る。図19のように、パーソナルコンピュータ101、
104の間の通信路111がインターネットを含む通信
網であり、その通信路111に対してルータ110を介
してクライアントのパーソナルコンピュータ104が接
続される場合がある。このクライアント・サーバ型接続
されたシステムにおいて、パーソナルコンピュータ10
2からパーソナルコンピュータ104にデータを送信す
る時は、サーバとなるパーソナルコンピュータ101を
介してデータが送信され、パーソナルコンピュータ10
2、104の間で直接データを送信することはない。
【0010】
【発明が解決しようとする課題】ところで、上述のごと
きクライアント・サーバ型接続には、次のような問題が
ある。先ず、クライアント・サーバ型接続では、クライ
アント間のデータ送信の場合に、サーバとして機能する
パーソナルコンピュータを介してデータを送る必要があ
り、動画を用いたり、接続するクライアントの数が増加
した場合では、サーバを経由するデータ送信量(トラフ
ィック)が増大して、データ送信の低速化や輻輳などの
悪影響が起こりうる。
【0011】そこで、本発明は、上述の技術的な課題に
鑑み、動画の使用や接続するクライアントの数の増加な
どに起因する過大なトラフィックを有効に抑えることが
可能となる情報処理システム、このような情報処理シス
テムに適用される情報処理方法、更には情報処理装置間
におけるネットワークアプリケーションを実行するため
の情報処理ネットワークプログラムを提供することを目
的とする。
【0012】
【課題を解決するための手段】本発明の情報処理システ
ムは、上述の課題を解決するため、サーバとして機能す
る一対の第1の情報処理装置と、クライアントとして機
能し前記第1の情報処理装置の一方と接続されると共に
前記第1の情報処理装置の他方と非接続とされる第2の
情報処理装置と、クライアントとして機能し前記第1の
情報処理装置の他方と接続されると共に前記第1の情報
処理装置の一方と非接続とされる第3の情報処理装置
と、前記各情報処理装置の間を接続する情報通信網とか
らなり、前記各情報処理装置では共通のネットワークア
プリケーションが作動し、前記ネットワークアプリケー
ションの動作中には前記第2の情報処理装置と前記第3
の情報処理装置の間での情報の送受信のために前記一対
の第1の情報処理装置同士が接続を確立することを特徴
とする。
【0013】本発明の情報処理システムによれば、一方
の第1の情報処理装置に接続される第2の情報処理装置
と、他方の第1の情報処理装置に接続される第3の情報
処理装置は、互いに直接接続されておらず、第2の情報
処理装置と第3の情報処理装置の間でデータ送信を行う
場合には、前記一対の第1の情報処理装置同士の間でデ
ータが送受信され、複数の第2の情報処理装置と第3の
情報処理装置の交信をまとめることが可能であることか
ら、ヘッダの部分のデータ量などを有効に減らすことが
できる。
【0014】また、本発明の情報処理方法は、サーバと
して機能する一対の第1の情報処理装置と、クライアン
トとして機能し前記第1の情報処理装置の一方と接続さ
れると共に前記第1の情報処理装置の他方と非接続とさ
れる第2の情報処理装置と、クライアントとして機能し
前記第1の情報処理装置の他方と接続されると共に前記
第1の情報処理装置の一方と非接続とされる第3の情報
処理装置と、前記各情報処理装置の間を接続する情報通
信網とを有するシステムで使用される情報処理方法にお
いて、前記第2の情報処理装置からの情報を前記第1の
情報処理装置の一方に転送し当該第1の情報処理装置の
一方に格納する手順と、前記第1の情報処理装置の一方
に格納された情報を前記第1の情報処理装置の他方に転
送し当該第1の情報処理装置の他方で格納する手順と、
前記第1の情報処理装置の他方で格納された情報を前記
第3の情報処理装置に転送する手順を有することを特徴
とする。
【0015】本発明の情報処理方法によれば、一方の第
1の情報処理装置に接続される第2の情報処理装置と、
他方の第1の情報処理装置に接続される第3の情報処理
装置は、互いに直接接続されていないことから、第2の
情報処理装置と第3の情報処理装置の間でデータ送信を
行う場合には、前記一対の第1の情報処理装置同士の間
でデータが送受信される。このための手順として、先
ず、第2の情報処理装置から第1の情報処理装置に情報
が送られ、該第1の情報処理装置でその情報が格納され
る。このように第1の情報処理装置で所要の情報が格納
されることで、一方の第1の情報処理装置では複数の第
2の情報処理装置からの情報を蓄積することができ、蓄
積した情報を包括することでヘッダの部分のデータ量な
どを有効に減らすことができ、一対の第1の情報処理装
置の間のトラフィックを低減することができる。
【0016】また、本発明の情報処理ネットワークプロ
グラムは、サーバとして機能する一対の第1の情報処理
装置と、クライアントとして機能し前記第1の情報処理
装置の一方と接続されると共に前記第1の情報処理装置
の他方と非接続とされる第2の情報処理装置と、クライ
アントとして機能し前記第1の情報処理装置の他方と接
続されると共に前記第1の情報処理装置の一方と非接続
とされる第3の情報処理装置と、前記各情報処理装置の
間を接続する情報通信網とを有するシステムで共通に使
用される情報処理ネットワークプログラムにおいて、前
記第2の情報処理装置からの情報を前記第1の情報処理
装置の一方に転送し当該第1の情報処理装置の一方に格
納した後、前記第1の情報処理装置の一方に格納された
情報を前記第1の情報処理装置の他方に転送して当該第
1の情報処理装置の他方で格納し、前記第1の情報処理
装置の他方で格納された情報を前記第3の情報処理装置
に転送する処理を実行させることを特徴とする。
【0017】本発明の情報処理ネットワークプログラム
によれば、前述の情報処理方法と同様、当該情報処理ネ
ットワークプログラムの実行時には、第2の情報処理装
置と第3の情報処理装置の間でデータ送信を行う場合に
は、前記一対の第1の情報処理装置同士の間でデータが
送受信される。このための手順として、先ず、第2の情
報処理装置から第1の情報処理装置に情報が送られ、該
第1の情報処理装置でその情報が格納される。このよう
に第1の情報処理装置で所要の情報が格納されること
で、一方の第1の情報処理装置では複数の第2の情報処
理装置からの情報を蓄積することができ、蓄積した情報
を包括することでヘッダの部分のデータ量などを有効に
減らすことができ、システムの通信負荷を分散させるこ
とができる。
【0018】
【発明の実施の形態】以下、本発明の実施形態について
図面を参照しながら説明する。
【0019】(1)システムの構成 図1は本実施形態の情報処理システムの概略図である。
図1に示すように、本実施形態の情報処理システムは、
共通のコミュニケーションアプリケーションを利用して
後述するような利用者間の意思伝達が可能となるコミュ
ニケーションシステム1を構成する。このコミュニケー
ションシステム1では、一対の第1の情報処理装置とし
て機能するサーバ2、3がインターネット(The Intern
et)などの情報通信網上に置かれており、これらサーバ
2、3は、相互に通信可能であって、所謂TCP/IP(Tran
smission Control Protocol / Internet Protocol)プ
ロトコル群を利用して情報処理装置間での情報(デー
タ)の送受信が可能である。サーバ2、3の間の接続は
ピアツーピア接続であっても良く、クライアント・サー
バ接続であっても良い。サーバ2、3の間の通信は、イ
ンターネットを介するものとすることができるが、プラ
イベートLANなどの閉鎖的なシステムを利用することも
でき、有線無線を問わない。ここで前述のクライアント
・サーバ型接続は、情報を提供する側と受ける側に分け
られる形式の接続の一例であり、情報を提供する側がサ
ーバであり、情報を受ける側がクライアントとされる。
また、ピアツーピア型接続は、対等な関係での接続の一
例であり、ピアツーピア型接続では両方の情報処理装置
がそれぞれ情報を提供する側として機能し得ると共に情
報を受ける側としても機能し得る。なお、以下の説明に
おいて、情報を提供する側と受ける側に分けられる形式
の接続としてクライアント・サーバ型接続を用い、対等
な関係での接続としてピアツーピア型接続を用いるが、
本発明の情報処理システムなどはこれらに限定されず、
同等若しくは類するような各種の接続形態を含むもので
ある。
【0020】本実施形態のコミュニケーションシステム
1においては、これらサーバ2、3に対して接続可能な
情報処理装置として複数のクライアント装置が設けられ
ており、サーバ2に対しては第2の情報処理装置として
機能する3つのパーソナルコンピュータ4a、4b、4
cがクライアント装置として接続する。これらパーソナ
ルコンピュータ4a、4b、4cはサーバ2とそれぞれ
接続されるが、サーバ3とは接続されない。ここで接続
されないとは、インターネットなどによって物理的には
接続されても通信を行うようには構成されていないこと
を意味する。逆に、サーバ3に対しては第3の情報処理
装置として機能する3つのパーソナルコンピュータ5
a、5b、5cがクライアント装置として接続する。こ
れらパーソナルコンピュータ5a、5b、5cはサーバ
3とそれぞれ接続されるが、サーバ2とは接続されな
い。なお、本実施形態においては、市販のパーソナルコ
ンピュータがクライアント型情報処理装置として使用さ
れるが、クライアント型情報処理装置としては各種PDA
(Personal Digital Assistants)機器やウェブブラウ
ザとしても機能するような携帯電話機などの各種の電子
デバイスを含めることが可能であり、更には家庭電化製
品などの機器も含まれる。
【0021】これらパーソナルコンピュータ4a、4
b、4c及びパーソナルコンピュータ5a、5b、5c
には、後述するようなコミュニケーションアプリケーシ
ョンがインストールされており、パーソナルコンピュー
タ4a、4b、4cの間での交信、パーソナルコンピュ
ータ5a、5b、5cの間での交信、及びパーソナルコ
ンピュータ4a、4b、4cとパーソナルコンピュータ
5a、5b、5cの間の交信のそれぞれが可能である。
これらのパーソナルコンピュータ4a、4b、4c、5
a、5b、5cの間の交信時には、コミュニケーション
アプリケーションが作動して複数のユーザ間で意思や感
情の交換も可能とされる。
【0022】パーソナルコンピュータ4a、4b、4c
の間での交信では、サーバ2を仲介したクライアント・
サーバ型接続によるデータ送信が行われ、例えばパーソ
ナルコンピュータ4aとパーソナルコンピュータ4cの
間でデータの送受信を行う場合には、パーソナルコンピ
ュータ4aとパーソナルコンピュータ4cに対してサー
バ2がクライアント・サーバ接続することで、所要のデ
ータ送信が行われる。このデータ送信自体は通常のクラ
イアント・サーバ接続で行われているものと同様であ
る。
【0023】また、パーソナルコンピュータ5a、5
b、5cの間での交信では、サーバ3を仲介したクライ
アント・サーバ型接続によるデータ送信が行われ、例え
ばパーソナルコンピュータ5aとパーソナルコンピュー
タ5bの間でデータの送受信を行う場合には、パーソナ
ルコンピュータ5aとパーソナルコンピュータ5bに対
してサーバ3がクライアント・サーバ接続することで、
所要のデータ送信が行われる。このデータ送信自体も通
常のクライアント・サーバ接続で行われているものと同
様である。
【0024】次に、異なるサーバ2、3にそれぞれ接続
するパーソナルコンピュータ4a、4b、4cとパーソ
ナルコンピュータ5a、5b、5cの間の接続について
説明する。例えば、サーバ2のクライアント装置である
パーソナルコンピュータ4bからサーバ3のクライアン
ト装置であるパーソナルコンピュータ5bの間でデータ
送信をする場合には、先ず、パーソナルコンピュータ4
bからサーバ2に接続してデータ送信を行い、次にサー
バ2、3の間でデータ送信を行う。このデータ送信の際
には、サーバ2でデータの格納が行われ、その格納され
たデータを利用して、後述するように所要のデータを加
工することが可能である。ここでデータ加工方法につい
て例示すると、例えば、幾つかの画像をあて先が異なる
場合でも統合しながら送信する方法や、画像のフレーム
レートを落として送信する方法や、幾つかのテキスト情
報を一括して送信する方法や、仮想プライベートネット
ワークを用いた送信を行う場合の暗号化処理を一括して
行う方法や、異なるパーソナルコンピュータ接続におけ
るデータ間の相関を利用して圧縮をかける方法など種々
の方法が挙げられる。データ加工法は単独であっても良
く、複数の加工法を組み合わせたものであっても良い。
【0025】サーバ3では、サーバ2からのデータを受
け取り、一旦データを格納した後、所定のクライアント
装置であるパーソナルコンピュータ5bにデータを送信
する。サーバ3で格納される場合に、先のデータ加工に
応答する後処理を行うようにしても良い。
【0026】このようなシステム構造の本実施形態のコ
ミュニケーションシステム1を利用した場合では、単一
のサーバを介してクライアント装置同士が交信した場合
に比べ、サーバ間の交信が多数のクライアント装置への
通信を束ねるように機能することから、全体としてのト
ラフィックを低減させることができ、通信回数なども低
減させて、ヘッダの共通化などによってデータ量そのも
のも低減させることができる。
【0027】(2)ユーザ端末の構成 次に、上述したコミュニケーションシステム1を構成す
るパーソナルコンピュータ4a、4b、4c及びパーソ
ナルコンピュータ5a、5b、5cをコンピュータ装置
10として代表させてその内部構造について説明する。
【0028】なお、以下では、説明の便宜上、コンピュ
ータ装置10にデジタルビデオカメラが搭載されている
場合について説明するものとする。ただし、コンピュー
タ装置10は、外部機器として構成されたデジタルビデ
オカメラが有線又は無線により接続されていてもよい
し、例えばコンピュータ装置10が接続されたLAN
(Local Area Network)等のコンピュータネットワーク
に対して直接接続可能とされたデジタルビデオカメラを
用いて、このデジタルビデオカメラにより撮像或いは録
音された画像データや音声データがコンピュータネット
ワークを介してコンピュータ装置10に取り込まれる構
成とされていてもよい。
【0029】コンピュータ装置10は、図2に示すよう
に、各種演算処理を実行するとともに各部を統括して制
御するCPU(Central Processing Unit)20と、こ
のCPU20のワークエリアとして機能するRAM(Ra
ndom Access Memory)21と、CPU20によって実行
される各種プログラムを含む情報を格納する読み取り専
用のROM(Read Only Memory)22と、CPU20に
よって実行されるオペレーティング・システム(Operat
ing System)やアプリケーション・プログラム等の各種
プログラムが記録され、各種データ等の記録再生が行わ
れるHDD(Hard Disk Drive)23と、各種情報を表
示する表示部24と、この表示部24とCPU20との
間でのデータの授受を行うための表示用インターフェー
ス25と、ユーザによって各種情報や指示操作を入力す
るための操作部26と、この操作部26とCPU20と
の間でのデータの授受を行うための操作用インターフェ
ース27と、上述した公衆回線網15を介してインター
ネット11に接続された外部装置との間でデータの授受
を行うためのネットワークインターフェース28と、被
写体を撮影して映像データや音声データを得るデジタル
ビデオカメラ29と、いわゆるMPEG2(Moving Pic
ture Experts Group phase 2)方式に基づく圧縮符号化
及び復号を行うMPEG2コーデック30とを備える。
【0030】コンピュータ装置10は、これらの各部の
うち、CPU20、RAM21、ROM22、HDD2
3、表示用インターフェース25、操作用インターフェ
ース27、ネットワークインターフェース28、デジタ
ルビデオカメラ29、及びMPEG2コーデック30が
バス31を介して接続されて構成される。
【0031】なお、コンピュータ装置10におけるデジ
タルビデオカメラ29は、コンピュータ装置10に搭載
されずに、例えば外部機器接続用の所定のインターフェ
ースや、ネットワークインターフェース28などを介し
てバス31に接続されてもよい。また、コンピュータ装
置10は、必要に応じて、例えば着脱自在とされる記録
媒体に対する記録再生を行うリムーバブル型の記録再生
装置などがHDD23の他に搭載又は接続され、この記
録再生装置に対する各種データの記録再生が可能とされ
ていてもよい。
【0032】CPU20は、バス31を介して、RAM
21、ROM22、HDD23、表示用インターフェー
ス25、操作用インターフェース27、ネットワークイ
ンターフェース28、デジタルビデオカメラ29、及び
MPEG2コーデック30と接続されている。CPU2
0は、各部を統括的に制御するとともに、例えばHDD
23等に記録されているオペレーティング・システムや
各種アプリケーション・プログラムを実行処理する。特
に、CPU20は、アプリケーション・プログラムのひ
とつとして構成されたコミュニケーションプログラムの
実行を処理する。なお、このコミュニケーションプログ
ラムについての詳細は後述する。
【0033】RAM21は、CPU20が各種プログラ
ムを実行する際のワークエリアとして機能し、CPU2
0の制御のもとに、各種データを一時記憶する。
【0034】ROM22は、コンピュータ装置10の起
動に必要となる各種プログラムや設定情報などを格納し
ている。このROM22に格納されている各種プログラ
ムや設定情報は、コンピュータ装置10の起動時に読み
出され、CPU20によって利用される。
【0035】HDD23は、オペレーティング・システ
ムやアプリケーション・プログラム等が記録されている
とともに、CPU20の制御のもとに各種プログラムや
データ等の記録再生を行う。
【0036】表示部24は、例えばLCD(Liquid Cry
stal Display)からなり、CPU20の制御のもとに、
HDD23に記録されているデータ等の各種情報を表示
画面に表示する。特に、表示部24は、CPU20の制
御のもとに、後述するコミュニケーションプログラムを
実行処理した結果を表示したり、このコミュニケーショ
ンプログラムに対して各種の指示操作を行うボタンを表
示するためのウィンドウといった、所定のグラフィカル
・ユーザ・インターフェースを表示画面に表示する。
【0037】表示用インターフェース25は、CPU2
0と表示部24との間でのデータの授受を行う。すなわ
ち、表示用インターフェース25は、CPU20からバ
ス31を介して供給された各種情報を表示部24に供給
する。
【0038】操作部26は、例えば、キーボード、マウ
ス等のポインティングデバイス、或いはいわゆるジョグ
ダイヤル等回転操作式スイッチなどによるユーザ・イン
ターフェースを用いたユーザによる操作を受け付け、操
作内容を示す制御信号を操作用インターフェース27を
介してCPU20に供給する。
【0039】操作用インターフェース27は、CPU2
0と操作部26との間でのデータの授受を行う。すなわ
ち、操作用インターフェース27は、操作部26から供
給された制御信号をバス31を介してCPU20に供給
する。
【0040】ネットワークインターフェース28は、C
PU20の制御のもとに、外部との通信を行うインター
フェースとして機能する。すなわち、ネットワークイン
ターフェース28は、インターネット11に接続された
他のコンピュータ装置10との間で各種情報の授受を行
うために設けられるものである。
【0041】デジタルビデオカメラ29は、被写体を撮
影するための所定の光学系や、CCD(Charge Coupled
Devices)等の光電変換用のデバイス等からなる。デジ
タルビデオカメラ29により得られた映像データや音声
データは、CPU20の制御のもとに、バス31を介し
てMPEG2コーデック30に供給される。
【0042】MPEG2コーデック30は、バス31を
介してデジタルビデオカメラ29から供給された映像デ
ータや音声データを、CPU20の制御のもとに、MP
EG2方式に基づく圧縮符号化を行う。このとき、MP
EG2コーデック30は、CPU20の制御のもとに、
映像データや音声データをリアルタイムに圧縮符号化す
る。また、MPEG2コーデック30は、MPEG2方
式に基づいて圧縮符号化されたデータを復号することも
できる。
【0043】(3)コミュニケーションプログラムの概
略 次に以下では、上述したコンピュータ装置10により実
行されるコミュニケーションプログラムについて説明す
る。
【0044】コミュニケーションプログラムは、それぞ
れ個別の機能を実現する複数のモジュールを組み合わせ
自在とされた一連のプログラム群によって構成されてお
り、例えばコンピュータ装置10のHDD23に記録さ
れている。コンピュータ装置10は、このコミュニケー
ションプログラムをCPU20によって実行することに
より、他のコンピュータ装置との間で、画像データ、音
声データ、或いは文字データ等の各種情報を授受するこ
とによって、各コンピュータ装置のユーザ間での意志や
感情の相互伝達(コミュニケーション)を可能とする。
なお、コミュニケーションプログラムは、例えばいわゆ
るコンパクトディスク(Compact Disc)等の所定の記録
媒体やインターネット11等の伝送媒体によっても提供
され得るものである。
【0045】コンピュータ装置10で実行されるコミュ
ニケーションプログラムは、他のコンピュータ装置で実
行されるコミュニケーションプログラムとの間で、いわ
ゆるサーバ・クライアント方式により通信を行う。すな
わち、相互接続状態が確立された複数のコミュニケーシ
ョンプログラムにおいては、所定のコミュニケーション
プログラムによりサーバとしての機能が実現され、他の
コミュニケーションプログラムがクライアントとして動
作する。ただし、コミュニケーションプログラムは、コ
ンピュータ装置10において実行処理が開始され、他の
コミュニケーションプログラムとの間で相互接続状態が
確立されていない時点、すなわち初期起動状態におい
て、いわば仮想セッションモードでの動作となり、サー
バ又はクライアントの区別なく、自分自身でセッション
の確立を行うことができる。
【0046】ここで、複数のコンピュータ装置10で実
行される各々のコミュニケーションプログラム間でセッ
ションの確立を行う場合には、これらコミュニケーショ
ンプログラム間で接続設定情報の授受が行われる。この
接続設定情報は、例えば、コミュニケーションプログラ
ムの起動時にコンピュータ装置10によって生成される
ものであり、この接続設定情報の送出元となるコンピュ
ータ装置10に設定されたIPアドレス、及び当該コミ
ュニケーションプログラムで利用されるポート番号など
が記述されたファイルにより構成されている。なお、接
続設定情報についての詳細は後述する。
【0047】そして、コミュニケーションプログラムか
ら、他のコミュニケーションプログラムに対して接続設
定情報が送出されると、この接続設定情報を取得したコ
ミュニケーションプログラムは、接続設定情報に記述さ
れたIPアドレスやポート番号などに基づいて、送出元
であるコンピュータ装置10(ひいては、このコンピュ
ータ装置10で実行されるコミュニケーションプログラ
ム)に対して、接続処理を行い、セッションが確立され
る。
【0048】このとき、接続設定情報を含むファイル
は、例えば拡張子によってコミュニケーションプログラ
ムとの関連付けがなされており、いわゆるダブルクリッ
ク操作を行うことなどによってコンピュータ装置上でこ
のファイルが選択されると、自動的にコミュニケーショ
ンプログラムが起動するよう構成されている。
【0049】コミュニケーションシステム1において
は、起動時に接続設定情報を生成し、この接続設定情報
を他のコミュニケーションプログラムに対して送出した
側のコミュニケーションプログラムがサーバとしての機
能を果たし、取得した接続設定情報に基づいて起動され
た側のコミュニケーションプログラムがクライアントと
して動作するものとする。
【0050】ここで、上述のようにしてコンピュータ装
置間で接続設定情報を授受するに際しては、例えば、サ
ーバとなるコンピュータ装置10からクライアントとな
るコンピュータ装置に対して、接続開始を促すメッセー
ジが記載された電子メールに接続設定情報を含むファイ
ルを添付して送信することにより実現されている。
【0051】なお、本例で説明するコミュニケーション
システム1においては、電子メールを利用して接続設定
情報を送出するものとするが、例えば、いわゆるFTP
ソフトウェアなどのような、インターネット11に接続
されたコンピュータ装置の間で各種のファイル交換を実
現するアプリケーションプログラムを用いることによっ
て、接続設定情報をデータ・ファイル或いはアプリケー
ション・プログラムの形で送出するとしてもよい。ま
た、例えば、コンピュータ装置の利用者(ユーザ)に対
して接続開始を通知することなく、接続設定情報を直接
コンピュータ装置間で授受することによって、ユーザに
接続の開始(セッションの確立)を意識させることなく
自動的にクライアント側のコンピュータ装置上でコミュ
ニケーションプログラムが起動するように構成してもよ
い。
【0052】(4)コミュニケーションプログラムのモ
ジュール構造 ここで、コミュニケーションプログラムにおけるモジュ
ール構造の一例について、図3を参照しながら説明す
る。コミュニケーションプログラムは、例えば図3に示
すように、コンピュータ装置10におけるネットワーク
インターフェース28の動作を制御するインターフェー
スモジュール50と、他のコンピュータ装置で実行され
るコミュニケーションプログラム間でのセッションの確
立などを提供するコアモジュール51と、コミュニケー
ションプログラムにおける基本的な機能を提供する基本
モジュール52と、各々個別の機能を提供する複数のア
プリケーションモジュール53と、グラフィカル・ユー
ザ・インターフェース(以下、GUI:Graphical User
Interfaceと称する。)を管理するGUIモジュール5
4とにより構成されている。
【0053】インターフェースモジュール50は、いわ
ばAPI(Application Program Interface)として構
成されており、インターネット11等のコンピュータネ
ットワークを介して他のコンピュータ装置で実行される
プログラムとの間で画像データ、音声データ、或いは文
字データ等の各種情報の伝送路を確立し、ネットワーク
通信の詳細を簡便な命令体系によって容易に処理可能と
するモジュールである。このインターフェースモジュー
ル50としては、例えば、マイクロソフト株式会社の
「Direct Play」などを用いることができる。
【0054】コアモジュール51は、他のコミュニケー
ションプログラムとの間でセッションの確立を行うとと
もに、確立されたセッションの管理を行うセッション管
理機能を有している。具体的には例えば、接続設定情報
を作成する接続設定情報作成機能、セッションを確立す
るセッション確立機能、コミュニケーションプログラム
間でデータの送受信を行うデータ送受信機能、確立され
たセッション内のプレーヤーを管理するセッション内プ
レーヤー管理機能などが、セッション管理機能としてコ
アモジュール51により提供される。
【0055】ここで、コミュニケーションシステム1に
おいては、サーバとなるコミュニケーションプログラム
と、クライアントとなるコミュニケーションプログラム
とが存在している。サーバ側のコミュニケーションプロ
グラムは、クライアント側のコミュニケーションプログ
ラムから送出されたデータを、このデータの宛先を参照
して、宛先として指定された他のクライアント側のコミ
ュニケーションプログラムに転送するなどの処理が行わ
れる。このため、コミュニケーションシステム1におい
ては、画像データ、音声データ、或いは文字データなど
の各種情報を授受するに際して、セッションを確立して
おくことが必要となる。そこで、コミュニケーションプ
ログラムにおいては、このようなセッションの確立や管
理を行うためのインターフェースとしてセッション管理
機能がコアモジュール51により提供されている。
【0056】コアモジュール51は、IPアドレス及び
ポート番号などを取得して接続設定情報が記述されたフ
ァイルを生成する。また、このファイルに対して暗号化
や復号化などを行う。また、コアモジュール51は、ク
ライアントとして動作する場合に、取得した接続設定情
報に記述されたIPアドレス及びポート番号などに基づ
いて、サーバ側となるコンピュータ装置に対する接続を
行う。これにより、セッションが確立される。
【0057】また、コアモジュール51は、セッション
内に存在するコミュニケーションプログラム(プレイヤ
ー)の管理を行う。具体的には例えば、プレイヤーのリ
ストを生成或いは取得したり、プレイヤー毎に割り当て
られた固有の識別情報(プレイヤーID)の取得或いは
管理を行う。また、コアモジュール51は、新規なプレ
イヤーとの接続が確立されたり、所定のプレイヤーとの
接続が切断されたり、プレイヤー毎の接続状態や接続名
などの情報を含むプレイヤー情報が変更されるなどし
て、イベントが生じた場合に、このイベントを基本モジ
ュール52及び各アプリケーションモジュール53に対
して通知する。
【0058】また、コアモジュール51は、複数のアプ
リケーションモジュール53の各々に対する制御を行う
アプリケーションモジュール管理機能を有している。具
体的には例えば、各アプリケーションモジュール53の
起動管理や、各アプリケーションモジュール53との間
でデータの送受信などを行う。
【0059】コアモジュール51は、具体的には例え
ば、コミュニケーションプログラムに実装されているア
プリケーションモジュール53に関するモジュール情報
を、コンピュータ装置10の所定の記憶領域から取得し
て、実装済みのアプリケーションモジュール53をリス
ト化する。このモジュール情報は、例えば、アプリケー
ションモジュール毎に固有のモジュール識別情報、GU
Iに関する情報であるGUI情報、或いは、コミュニケ
ーションプログラムの起動と同時に動作を開始するか否
かを示すフラグ情報などにより構成されている。そし
て、コアモジュール51は、このモジュール情報に基づ
いて、各アプリケーションモジュール53の起動状態を
管理する。
【0060】また、コアモジュール51は、起動されて
いないアプリケーションモジュール53を起動したり、
コンピュータ装置10の表示部24に対する表示/非表
示の切り替え制御などを行う。
【0061】ここで、コアモジュール51の動作の一例
として、クライアント側である一方のコミュニケーショ
ンプログラムから他方のコミュニケーションプログラム
に対して、サーバ側のコミュニケーションプログラムを
介してデータを送信する場合について、図4を参照しな
がら説明する。
【0062】この場合において、データ送信側で動作す
るコアモジュール51aは、基本モジュール52やアプ
リケーションモジュール53から送信されたデータを受
信し、このデータに対して送信ヘッダーを付与して、サ
ーバ側のコミュニケーションプログラムに対して送信す
る。このようにサーバ側に送信するに際しては、受信し
たデータの内容については関与しない。
【0063】一方、サーバ側で動作するコアモジュール
51bは、データ送信側から取得したデータに含まれる
送信ヘッダーを参照して、この送信ヘッダーに宛先とし
て記述されたデータ受信側のコミュニケーションプログ
ラムに対して、データ送信側から取得したデータを送信
する。
【0064】また、データ受信側で動作するコアモジュ
ール51cは、取得したデータに含まれる送信ヘッダー
を参照して、このデータを所定のアプリケーションモジ
ュール53に対して受け渡す。このとき、コアモジュー
ル51cは、データ受信側におけるコミュニケーション
プログラムでデータの受け渡し先として該当するアプリ
ケーションモジュール53が起動していない場合に、こ
のアプリケーションモジュール53を起動処理する。
【0065】また、コアモジュール51cは、データ受
信側のコミュニケーションプログラムに該当するアプリ
ケーションモジュール53が存在しない場合に、この旨
を示すメッセージをデータ送信側のコミュニケーション
プログラムに対して送信する。このとき、コアモジュー
ル51cは、取得したデータを受け渡す対象となるアプ
リケーションモジュール53として、全てのアプリケー
ションモジュール53が指定されている場合には、起動
中であるアプリケーションモジュールにのみ、このデー
タを受け渡す。
【0066】コアモジュール51は、上述のように動作
することによって、クライアントとして動作するコミュ
ニケーションプログラム間でデータの受け渡しを行う。
【0067】一方、基本モジュール52は、コミュニケ
ーションプログラムで用いる各種ウィンドウを用意する
機能を有するモジュールである。また、基本モジュール
52は、コミュニケーションプログラムの実行処理に必
要となる各種の情報を設定する設定機能、及び、セッシ
ョンを確立する際に接続設定情報を電子メールに添付し
てクライアント側に送信する電子メール送信機能などを
有する。
【0068】また、アプリケーションモジュール53
は、コミュニケーションプログラムに必要に応じて複数
実装され、それぞれ独自の機能を提供する機能を有して
いる。本例におけるコミュニケーションプログラムにお
いては、アプリケーションモジュール53として、個人
情報管理モジュール53a、画像送信モジュール53
b、音声データ送受信モジュール53c、Web機能モ
ジュール53d、チャット内容転送モジュール53e、
チャットログモジュール53f、感情表現モジュール5
3g、アクションモジュール53h、及びライブ出演モ
ジュール53iなどが実装されているものとする。
【0069】個人情報管理モジュール53aは、セッシ
ョン内に存在する各コミュニケーションプログラム、す
なわち各ユーザ(プレイヤー)に対応した画像データや
名前情報などの個人情報を管理するモジュールである。
【0070】このコミュニケーションプログラムにおい
ては、最初に起動された状態で、ユーザに対応した画像
や名前などの入力及び設定をユーザに要求して取得す
る。このとき、コアモジュール51を介して個人情報管
理モジュール53aに対して、表示要求が送信される。
このようにして他のモジュールからの表示要求を受信す
ると、個人情報管理モジュール53aは、GUIモジュ
ール54に対して所定の取得要求を送信して、該当する
個人情報を取得し、コンピュータ装置10に表示された
ウィンドウ内の所定の領域に所定の個人情報を表示す
る。
【0071】また、個人情報管理モジュール53aは、
他のモジュールからのプレイヤー情報更新要求を受信し
た場合に、ネットワークを介して接続が確立された他の
コミュニケーションプログラムにおける個人情報管理モ
ジュール53aに対して、個人情報取得要求を送信す
る。このとき、個人情報取得要求を取得した側の個人情
報管理モジュール53aは、自分自身の個人情報を取得
して表示通知として返信する。
【0072】このようなプレイヤー情報更新要求は、例
えば、コミュニケーションシステム1に対して新たにユ
ーザが参入した場合に、コアモジュール51によって個
人情報管理モジュール53aに対して送信される。
【0073】画像送信モジュール53bは、画像データ
の追加処理、削除処理、或いは選択時の処理などを提供
するモジュールである。また、画像送信モジュール53
bは、コンピュータ装置10に搭載又は接続されたデジ
タルビデオカメラ29に対して、撮影状態のオン・オフ
の切り替え制御などの各種制御を行う。デジタルビデオ
カメラ29の撮影状態がオンである場合には、インター
ネット11に対する通信状態の負荷を監視しながら、画
像データの送信処理を行う。なお、画像送信モジュール
53bにおいては、ユーザによる設定に応じて、他のコ
ミュニケーションプログラムに対する送信を非保証通信
で行うこともできる。この場合には、送信した画像デー
タが伝送路の途中で失われた場合であっても再送信を行
わない。
【0074】音声送受信モジュール53cは、画像送信
モジュール53bに相当するものであり、音声データの
追加処理、削除処理、或いは選択時の処理などを提供す
るモジュールである。また、音声送受信モジュール53
cは、インターフェースモジュール50に実装された音
声機能を利用して、コミュニケーションプログラム間で
音声データの送受信を実現する機能を有している。な
お、コミュニケーションシステム1においては、サーバ
側のコミュニケーションプログラムにおいて音声出力を
オンにしている場合のみ、クライアント側のコミュニケ
ーションプログラムにおいても音声出力をオンとするこ
とが可能とされている。また、クライアント側のコミュ
ニケーションプログラムから送出された音声データは、
サーバ側のコミュニケーションプログラムに実装された
音声送受信モジュール53cによってミキシングされ、
再度各クライアント側のコミュニケーションプログラム
に対して送信される。
【0075】Web機能モジュール53dは、コミュニ
ケーションプログラムが実行されるコンピュータ装置1
0、或いはインターネット11に接続された他のコンピ
ュータ装置に保持されたハイパーテキストや画像データ
などの各種情報を取得して、コミュニケーションプログ
ラムのウィンドウ内における所定の表示領域に、取得し
た各種情報を表示するWeb情報表示機能を提供するモ
ジュールである。また、Web機能モジュール53d
は、他のコミュニケーションプログラムとの間で、イン
ターネット11上に存在する各種情報(リソース)の所
在地及び取得方法を示すURL(Uniform Resource Loc
ator)を共有するURL共有機能を有する。このURL
共有機能についての詳細は後述する。
【0076】チャット内容転送モジュール53eは、文
字データがGUIモジュール54に対して入力されたこ
とを示すイベントが、このGUIモジュール54から通
知された際に、このイベントに基づいて入力された文字
データを取得し、取得した文字データを含むチャットメ
ッセージ通知を、セッションが確立された他のコミュニ
ケーションプログラムの全てに対して送信するモジュー
ルである。また、チャット内容転送モジュール53e
は、チャットメッセージ通知を受信すると、このチャッ
トメッセージ通知に含まれる文字データを表示する要求
をGUIモジュール54に対して行う。これにより、コ
ミュニケーションプログラムのウィンドウ内の所定の位
置に、いわゆる「吹き出し」状の文字表示領域が確保さ
れ、この領域内に文字データが表示される。
【0077】チャットログモジュール53fは、チャッ
ト内容転送モジュール53eから送信されたチャットメ
ッセージ通知などに基づいて、入力又は受信した文字デ
ータを記録してチャットログファイルを生成する。チャ
ットログモジュール53fは、所定の記憶容量分の文字
データを、コンピュータ装置10のRAM21内に記憶
するとともに、必要に応じて、RAM21内に記憶され
た文字データをHDD23などに待避させてチャットロ
グファイルを生成する。また、チャットログモジュール
53fは、チャットログを表示する要求がなされた場合
に、チャットログファイル内に記憶された文字データを
取得して、コミュニケーションプログラムのウィンドウ
内の所定の領域に表示する機能を有している。
【0078】感情表現モジュール53gは、詳細を後述
する感情表現に関するアニメーション効果の読み込みや
表示などを行うモジュールである。また、感情表現モジ
ュール53gは、感情を表現する際に選択されるボタン
の表示などをGUIモジュール54に要求する。
【0079】また、感情表現モジュール53gは、GU
Iモジュール54により所定のボタンが選択された通知
を受信すると、このボタンに対応した感情表現データ
(アニメーションデータ)を、セッションが確立されて
いる全てのコミュニケーションプログラムに対して送信
する。一方、感情表現データを受信した際には、この感
情表現データを表示する要求をGUIモジュール54に
対して行う。なお、感情表現についての詳細は後述す
る。
【0080】アクションモジュール53hは、詳細を後
述するアクションデータの読み込みや表示などを行うモ
ジュールである。また、アクションモジュール53h
は、アクションを表示する際に選択されるボタンの表示
などをGUIモジュール54に要求する。
【0081】また、アクションモジュール53hは、ア
クションを表示する際に選択されるボタンがユーザによ
って選択されると、選択されたボタンに対応したアクシ
ョンデータ(アニメーションデータ)を、セッションが
確立されている全てのコミュニケーションプログラムに
対して送信する。一方、アクションデータを受信した際
には、このアクションデータを表示する要求をGUIモ
ジュール54に対して行う。なお、アクション表示につ
いての詳細は後述する。
【0082】ライブ出演モジュール53iは、インター
ネット11を介して画像データや音声データのライブ配
信を行うライブ配信プログラムと連携して動作するモジ
ュールである。コミュニケーションプログラムは、ライ
ブ出演モジュール53iが実装されていることにより、
外部のライブ配信プログラムとの間で画像データや音声
データ等の授受を行うことが可能とされている。
【0083】アプリケーションモジュール53は、上述
したような各種のモジュールにより構成されている。な
お、コミュニケーションプログラムにおいては、実装さ
れるアプリケーションモジュール53の数や機能に限定
されるものではなく、上述した各種のモジュールの他に
も、それぞれ独自の機能を提供するモジュールがアプリ
ケーションモジュール53のひとつとして実装されてい
てもよい。また、コミュニケーションプログラムにおい
ては、必要に応じてアプリケーションモジュール53の
追加又は削除を行うことが可能とされている。
【0084】GUIモジュール54は、コミュニケーシ
ョンプログラムで発生するウィンドウ表示等の画面表示
を提供するモジュールである。ただし、ダイアロブボッ
クスなどの各種ウィンドウの基本的な描画については、
基本モジュール52により提供される。GUIモジュー
ル54は、他のモジュールからなされた画面表示要求に
応じて、ウィンドウ内の描画を行い、機能選択ボタンや
画像データなどの表示を行う。
【0085】このGUIモジュール54は、機能選択ボ
タンの位置や並べ方、或いは画像データの表示位置や、
ウィンドウ内における全体的な配列・構成に関する情報
は有しているが、機能選択ボタンの数や内容に関して
は、コアモジュール51或いは各アプリケーションモジ
ュール53による要求に含まれるデータを参照すること
により表示する。
【0086】なお、コミュニケーションプログラムに実
装されるアプリケーションモジュール53は、GUIモ
ジュール54に依らずに、独自に描画処理することが可
能なアプリケーション表示領域を利用することが可能と
されている。このようなアプリケーション表示領域を利
用して画面表示を行う場合には、アプリケーションモジ
ュール53からの要求に応じてGUIモジュールがアプ
リケーション表示領域を確保し、確保されたアプリケー
ション表示領域内に対する描画処理は、アプリケーショ
ンモジュール53側で行うことができる。
【0087】また、GUIモジュール54は、ウィンド
ウ内に表示された機能選択ボタン等がユーザによって選
択された場合に、この機能選択ボタンが選択されたこと
を示すイベントを、基本モジュール52やアプリケーシ
ョンモジュール53に対して通知する機能を有してい
る。
【0088】コミュニケーションプログラムは、上述し
たように、複数のモジュールによって構成されてなり、
各モジュールが必要に応じて適宜連携して動作するよう
に構成されている。
【0089】(5)接続設定情報 次に、コミュニケーションシステム1において、コンピ
ュータ装置間でセッションを確立する際に用いられる接
続設定情報について説明する。接続設定情報は、サーバ
となるコミュニケーションプログラムが実行されるコン
ピュータ装置において生成される情報である。
【0090】接続設定情報は、例えば図5に示すよう
に、クライアントとなるコミュニケーションプログラム
がサーバとなるコミュニケーションプログラムに対して
セッションを確立する際に認証などを行うためのアクセ
スキー、コミュニケーションプログラムが利用するコン
ピュータ装置10のネットワークインターフェース28
のポート番号、サーバとなるコミュニケーションプログ
ラムが実行されるコンピュータ装置10に設定されたI
Pアドレスの数、及びサーバとなるコミュニケーション
プログラムが実行されるコンピュータ装置10に設定さ
れた一連のIPアドレスなどによって構成される。
【0091】(6)コミュニケーションプログラムによ
る基本処理 以下では、上述したコミュニケーションプログラムがコ
ンピュータ装置10において実行される場合における基
本的な一連の処理について、図6及び図7に示すフロー
チャートを参照しながら順を追って説明する。
【0092】コミュニケーションプログラムは、実行処
理が開始(起動)されると、図6に示すステップS10
において、機能モジュールリストを参照することによ
り、起動フラグが立っているモジュールを起動する。機
能モジュールリストは、例えば図8に示すようなデータ
構造とされており、コミュニケーションプログラムを構
成するモジュール毎に、モジュールに固有の識別情報
(ID)と、モジュールに固有のモジュール名と、モジ
ュールの実行形態や利用条件などを示すタイプと、起動
時の条件に応じて起動されるか否かを示す起動フラグと
により構成されている。起動フラグについての詳細は後
述するが、コミュニケーションプログラムは、機能モジ
ュールリストを参照することによって、起動時の条件に
応じて起動するモジュールを選択して起動することが可
能とされている。
【0093】次に、コミュニケーションプログラムは、
ステップS11において、他のコンピュータ装置により
実行されるコミュニケーションプログラムから接続設定
情報を受信しているか否かを判定する。この判定の結
果、受信している場合にはステップS12に処理を進
め、受信していない場合にはステップS13に処理を進
める。
【0094】ここで、コミュニケーションプログラム
は、接続設定情報を受信している場合に、当該コミュニ
ケーションプログラムがクライアントとして動作して、
接続設定情報の送信元であるサーバ側のコミュニケーシ
ョンプログラムとの間で各種情報の送受信を行うことと
なる。一方、接続設定情報を受信していない場合には、
当該コミュニケーションプログラムがサーバとして動作
する。
【0095】ステップS12において、コミュニケーシ
ョンプログラムは、受信した接続設定情報に基づいて、
この接続設定情報の送信元であるサーバ側のコミュニケ
ーションプログラムとの間でセッションを確立する処理
を行う。
【0096】ステップS13において、コミュニケーシ
ョンプログラムは、サーバとして動作することを要求さ
れ、サーバ機能を提供するサーバモジュールを起動する
か否かを判定する。この判定は、ステップS11におけ
る判定に対応しており、接続設定情報を他のコンピュー
タ装置で実行されるコミュニケーションプログラムから
受信したか否かを判定することによって行われる。そし
て、この判定の結果、サーバモジュールを起動する場合
にはステップS14に処理を進め、サーバモジュールを
起動せずにクライアントとして動作する場合にはステッ
プS17に処理を進める。
【0097】ステップS14において、コミュニケーシ
ョンプログラムは、自身が起動したサーバモジュールに
対してセッションが確立されて接続済みであるか否かを
判定する。この判定の結果、未だ接続が行われていない
場合にはステップS15に処理を進め、接続済みである
場合にはステップS17に処理を進める。
【0098】ステップS15において、コミュニケーシ
ョンプログラムは、サーバ機能を提供するサーバモジュ
ールを起動する。次に、ステップS16において、コミ
ュニケーションプログラムは、自身起動したサーバモジ
ュールに対してセッションを確立して接続を行う。これ
により、当該コミュニケーションプログラムにおいて
は、自身が起動したサーバモジュールによりサーバとし
ての機能が実現されるとともに、サーバモジュール以外
の他のモジュールは、当該サーバモジュールに対して、
いわばクライアントとして接続動作することが可能とな
る。
【0099】コミュニケーションプログラムにおいて
は、このようにサーバ機能がモジュールとして実現され
ていることから、サーバとして動作する場合であって
も、クライアントとして動作する場合と同様な手続きに
より、サーバモジュール以外の他のモジュールが、サー
バに対してアクセスすることが可能となる。このため、
これら他のモジュールにおける処理手続きを簡略化する
ことができる。なお、ステップS16において、サーバ
モジュールに対するセッションが確立された後に、コミ
ュニケーションプログラムは、ステップS17に処理を
進める。
【0100】ステップS17において、コミュニケーシ
ョンプログラムは、コンピュータ装置10の画面上にウ
ィンドウを表示し、このウィンドウ内に表示された入力
領域や各種の機能選択ボタン等によって、ユーザによる
各種指示操作が入力可能な状態となる。そして、ステッ
プS17において、コミュニケーションプログラムは、
上述した機能選択ボタンがユーザによって選択され、こ
の機能選択ボタンに対応した機能モジュールを起動する
か否かを判定する。この判定の結果、機能モジュールを
起動する場合にはステップS18に処理を進め、起動し
ない場合にはステップS19に処理を進める。
【0101】ステップS18において、コミュニケーシ
ョンプログラムは、ステップS17において選択された
機能選択ボタンに対応した機能モジュールを起動する。
そして、機能モジュールを起動した後に、コミュニケー
ションプログラムは、ステップS19に処理を進める。
【0102】ステップS19において、コミュニケーシ
ョンプログラムは、メッセージ送信キューに送信すべき
メッセージが存在するか否かを判定する。そして、メッ
セージ送信キューにメッセージが存在する場合にはステ
ップS20に処理を進め、メッセージが存在しない場合
には図7に示すステップS21に処理を進める。
【0103】ここで、コミュニケーションプログラム
は、他のコミュニケーションプログラムとの間で画像デ
ータ、音声データ、或いは文字データなどの各種情報を
授受するに際して、これら情報がメッセージと称される
情報単位に分割される。そして、相手のコミュニケーシ
ョンプログラムに対して送信すべきメッセージがメッセ
ージ送信キューに、相手のコミュニケーションプログラ
ムから受信したメッセージがメッセージ受信キューに、
それぞれ一時的に蓄積される。なお、メッセージ送信キ
ュー及びメッセージ受信キューは、例えば、コンピュー
タ装置10のRAM21における記憶領域内に、予め所
定の容量だけ確保されている。
【0104】ステップS20において、コミュニケーシ
ョンプログラムは、メッセージ送信キューに存在するメ
ッセージをセッションが確立されているサーバに対して
送信する。このステップS20における処理の後に、コ
ミュニケーションプログラムは、処理を図7に示すステ
ップS21に進める。
【0105】ステップS21において、コミュニケーシ
ョンプログラムは、メッセージ受信キューにサーバから
受信したメッセージが存在するか否かを判定する。そし
て、メッセージ受信キューにメッセージが存在する場合
には処理をステップS22に進め、メッセージが存在し
ない場合には処理をステップS25に進める。
【0106】ステップS22において、コミュニケーシ
ョンプログラムは、メッセージの送信先となる機能モジ
ュール、すなわち、このメッセージを利用する機能モジ
ュールが起動済みであるか否かを判定する。この判定の
結果、送信先として該当する機能モジュールが未だ起動
されていない場合にはステップS23に処理を進め、起
動済みである場合にはステップS24に処理を進める。
【0107】ステップS23において、コミュニケーシ
ョンプログラムは、メッセージの送信先となる起動モジ
ュールを起動する。そして、送信先として該当する機能
モジュールを起動した後に、コミュニケーションプログ
ラムは、処理をステップS24に進める。
【0108】ステップS24において、コミュニケーシ
ョンプログラムは、メッセージ送信キューに存在するメ
ッセージの送信先として該当する機能モジュールに対し
て、当該メッセージを送信する。このステップS24に
おける処理の後に、コミュニケーションプログラムは、
処理をステップS25に進める。
【0109】ステップS25において、コミュニケーシ
ョンプログラムは、ユーザから所定の指示操作が行われ
ることにより、実行動作を終了することを要求されてい
るか否かを判定する。この判定の結果、終了することを
要求されている場合には、処理をステップS26に進
め、終了することを要求されていない場合には、処理を
図6に示すステップS13に進めて、上述したステップ
S13以降の一連の処理を繰り返し行う。
【0110】ステップS26において、コミュニケーシ
ョンプログラムは、サーバ機能を実現するサーバモジュ
ールを自身で起動したか否かを判定する。すなわち、当
該コミュニケーションプログラムがサーバとして動作し
ているか否かを判定する。この判定の結果、自身でサー
バモジュールを起動した場合には処理をステップS27
に進め、自身でサーバモジュールを起動しておらず、ク
ライアントとして動作している場合には、各種の終了処
理を行って、一連の処理動作を停止する。
【0111】ステップS27において、コミュニケーシ
ョンプログラムは、ステップS15において自身で起動
したサーバモジュールに対して終了処理を行い、このサ
ーバモジュールの動作を停止する。この後に、コミュニ
ケーションプログラムは、各種の終了処理を行って、一
連の処理動作を停止する。
【0112】つぎに、上述したステップS15において
起動されるサーバモジュールにおける一連の処理につい
て、図9及び図10に示すフローチャートを参照しなが
ら順を追って説明する。
【0113】サーバモジュールは、実行処理が開始され
ると、図9に示すステップS50において、クライアン
トからの接続要求(セッション確立要求)を受信したか
否かを判定する。このとき、クライアントとしては、当
該サーバモジュールを起動したコミュニケーションプロ
グラムを構成する他の機能モジュールであってもよい
し、他のコンピュータ装置で実行されるコミュニケーシ
ョンプログラムを構成する機能モジュールであってもよ
い。そして、この判定の結果、接続要求を受信している
場合にはステップS51に処理を進め、受信していない
場合にはステップS55に処理を進める。
【0114】ステップS51において、サーバモジュー
ルは、現在接続しているユーザの数が、予め設定された
最大人数に達しているか否かを判定する。この判定の結
果、最大人数に達していない場合にはステップS52に
処理を進め、最大人数に達している場合にはステップS
55に処理を進める。
【0115】ステップS52において、サーバモジュー
ルは、新たに接続要求を行ったユーザに対して、ユーザ
毎に固有の情報であるユーザIDを生成するとともに、
このユーザ側で動作するコミュニケーションプログラム
との間でセッションを確立して接続を行う。これによ
り、接続要求を行ったユーザ側で動作するコミュニケー
ションプログラムがクライアントとして、当該サーバモ
ジュールとの間で通信状態が確立され、画像データ、音
声データ、或いは文字データなどの各種情報を授受を行
うことが可能となる。
【0116】次に、ステップS53において、サーバモ
ジュールは、新たに接続要求を行ったユーザ側でコミュ
ニケーションプログラムを実行するコンピュータ装置の
IPアドレスと、このユーザのユーザ名とを取得すると
ともに、これらIPアドレス及びユーザ名と、ステップ
S52において生成したユーザIDとをユーザリストに
追加する。
【0117】ここで、ユーザリストは、例えば図11に
示すようなデータ構造とされており、サーバモジュール
に対してセッションの確立が行われたユーザのユーザI
Dと、このユーザのユーザ名と、このユーザ側でコミュ
ニケーションプログラムを実行するコンピュータ装置の
IPアドレスとにより構成されている。
【0118】次に、ステップS54において、サーバモ
ジュールは、セッションが確立されている全てのクライ
アントに対して、ステップS53において追加したユー
ザのユーザIDなどを通知する。これにより、サーバモ
ジュールに接続された全てのクライアントは、新たなユ
ーザが接続されたことを知ることができる。このステッ
プS54における処理の後に、サーバモジュールは、ス
テップS55に処理を進める。
【0119】ステップS55において、サーバモジュー
ルは、セッションが確立されているクライアントとの間
で接続状態が切断されたか否かを判定する。この判定の
結果、接続状態が切断されている場合にはステップS5
6に処理を進め、接続状態が切断されていない場合には
図10に示すステップS58に処理を進める。このと
き、接続状態が切断される要因としては、例えば、サー
バモジュールとクライアントとの間の伝送路において生
じた不具合、ユーザによるコミュニケーションモジュー
ルの終了処理などを挙げることができる。
【0120】ステップS56において、サーバモジュー
ルは、ステップS55において接続状態が切断されたと
判定されたユーザに関する情報を、ユーザリストから削
除する。次に、ステップS57において、サーバモジュ
ールは、ステップS56でユーザリストから削除したユ
ーザに関するユーザIDなどの情報を、セッションが確
立されている全てのクライアントに対して通知する。こ
れにより、サーバモジュールに接続された全てのクライ
アントは、当該ユーザの接続が切断されたことを知るこ
とができる。このステップS57における処理の後に、
サーバモジュールは、図10に示すステップS58に処
理を進める。
【0121】ステップS58において、サーバモジュー
ルは、接続されたクライアントからメッセージが送信さ
れたか否かを判定する。この判定の結果、送信されてい
る場合にはステップS59に処理を進め、送信されてい
ない場合にはステップS61に処理を進める。
【0122】ステップS59において、サーバモジュー
ルは、メッセージの宛先として指定されたユーザIDを
参照し、ユーザリストに基づいて当該ユーザIDに対応
したIPアドレスを取得する。次に、ステップS60に
おいて、サーバモジュールは、ステップS59において
取得したIPアドレスが設定されたコンピュータ装置に
対して、インターネット11等のコンピュータネットワ
ークを介してメッセージを送信する。これにより、メッ
セージが送信先のコミュニケーションプログラムに届け
られる。このステップS60における処理の後に、サー
バモジュールはステップS61に処理を進める。
【0123】ステップS61において、サーバモジュー
ルは、コミュニケーションプログラムにからの終了要求
を受信したか否かを判定する。そして、この判定の結
果、終了要求を受信した場合には、各種の終了処理を行
って、一連の処理動作を停止する。また、終了要求を受
信していない場合には、処理を図9に示すステップS5
0に進めて、上述したステップS50以降の一連の処理
を繰り返す。このサーバモジュールに対する終了要求
は、図7に示したコミュニケーションプログラムの一連
の処理におけるステップS27が処理された場合に相当
するものである。
【0124】コミュニケーションプログラムは、以上で
説明したようにして一連の処理を行うアプリケーション
・プログラムである。上述した一連の処理の説明から明
らかであるように、コミュニケーションプログラムは、
必要に応じてサーバ或いはクライアントとして動作する
ことが可能とされている。
【0125】(7)本実施形態のコミュニケーションシ
ステムにおけるデータ送信 次に図12を参照しながら、本実施形態のコミュニケー
ションシステムにおけるサーバ動作についてその概要を
説明する。本実施形態のコミュニケーションシステムで
は、一対のサーバが使用される。それらのサーバを用い
てデータ送信が行われる場合には、先ず、一方のサーバ
に対してクライアント装置から接続要求が出されること
になる(ステップS101)。次に、そのクライアント
装置からのデータ送信先のクライアント装置が自サーバ
に属しているか否かの判断がなされ、換言すれば、デー
タ送信が一対のサーバの間で行われるか否かが判断され
(ステップS102)、自サーバに属している場合には
ステップS103に進んで当該サーバから宛先のクライ
アント装置に対してデータ送信が行われる。
【0126】宛先が自サーバ側のクライアント装置に属
していない場合、ステップS102からステップS104
にジャンプし、このステップS104で宛先が他サーバ
に属しているか否かが判断される。宛先が他サーバに属
していない場合は、宛先が特定できないことから本処理
を終了する。宛先が他サーバに属している場合、その宛
先が属するサーバに対してデータを送信する(ステップ
S105)。この場合、データが宛先が属するサーバに
先ず送られ、続いてそのデータが該サーバからクライア
ント装置に向けて送られることになる。
【0127】次に、図13を参照しながら、サーバ接続
時のデータフローについて説明する。本実施形態のコミ
ュニケーションシステムにおいては、図1に示したよう
に一対のサーバ、ここではサーバAとサーバBが設けら
れているものとする。クライアントはこれらサーバA、
サーバBのいずれか一方にだけ接続する構成とされ、こ
のようなクライアントがサーバAとサーバBのそれぞれ
に複数個接続可能に設けられている。すなわち、サーバ
Aにはクライアントa1、a2が接続可能であり、サー
バBにはクライアントb1が接続可能であるものとす
る。なお、サーバとして機能するか、クライアントとし
て機能するかは前述のように同一のコミュニケーション
アプリケーションの異なるモジュールの起動によって実
現可能(図6、図7参照)であり、サーバ用とクライア
ント用でわざわざ別個のソフトウエアをインストールす
る必要はない。
【0128】図13に示すように、サーバAは先ずクラ
イアントa1からの接続要求(セッション確立要求)S
110を受けて作動し、サーバAは、クライアントa1
のIPアドレスすなわちコミュニケーションプログラム
を実行するコンピュータ装置のIPアドレス、このユー
ザのユーザ名、およびユーザIDとを当該サーバAが担
当するクライアント装置のクライアント情報として管理
する(ステップS111)。このクライアント情報は、
先に説明したユーザリストのように、サーバモジュール
に対してセッションの確立が行われたユーザのユーザI
Dと、このユーザのユーザ名と、このユーザ側でコミュ
ニケーションプログラムを実行するコンピュータ装置の
IPアドレスとにより構成される。
【0129】また、このような接続要求とクライアント
情報の管理はサーバB側でも同様に行われており、サー
バBはクライアントb1からの接続要求(セッション確
立要求)S112を受けて作動し、サーバBは、クライ
アントb1のIPアドレスすなわちコミュニケーション
プログラムを実行するコンピュータ装置のIPアドレ
ス、このユーザのユーザ名、およびユーザIDとを当該
サーバBが担当するクライアント装置のクライアント情
報として管理する(ステップS113)。なお、図13
では、クライアントa1、b1だけを示しているが、実
際は各サーバが更に多くのクライアント装置の各情報を
保持するようにしても良い。
【0130】次に、ある時点(ステップS114)で外
部からのサーバー間の接続要求がサーバA、Bの一方
に、ここではサーバAに送信され、そのサーバ間接続要
求を受けたサーバAがサーバ間接続を行う。このサーバ
間接続は、クライアント・サーバ型接続であっても良
く、ピアツーピア型接続であっても良い。サーバ間接続
を開始するに際には、先ずサーバAからサーバBに接続
要求が送られ(ステップS115)、この接続要求によ
ってサーバBが応答して(ステップS116)、ピアツ
ーピア型接続若しくはクライアント・サーバ型接続が確
立される。
【0131】このようなサーバ間接続がサーバAとサー
バBの間で確立されたところで、サーバAとサーバBが
それぞれ管理していたクライアント情報を共有するよう
に、データの送受信を行う(ステップS117)。この
時交換されるデータとしては、サーバAにはサーバBが
管理していたサーバBに接続されているクライアントb
1のクライアント情報が送信され、逆にサーバBにはサ
ーバAが管理していたサーバAに接続されているクライ
アントa1のクライアント情報が送信される。このクラ
イアント情報の共有作業によって、各サーバA、Bはそ
れぞれ他のサーバがどのようなクライアントと接続して
いるかの情報を取得することになり、クライアント間の
データ送信の場合にはその取得した情報を利用した効率
の高いルーティングが行われる。
【0132】ステップS118では、先のステップS1
10と同様に、サーバAは先ずクライアントa2からの
接続要求(セッション確立要求)を受けて作動し、サー
バAは、クライアントa2のIPアドレスすなわちコミ
ュニケーションプログラムを実行するコンピュータ装置
のIPアドレス、このユーザのユーザ名、およびユーザ
IDとを当該サーバAが担当するクライアント装置のク
ライアント情報として管理する(ステップS119)。
このクライアント情報は、既にサーバA、B間では接続
の確立がなされていることから、サーバAからサーバB
への情報提供の形式で行われ(ステップS120)、サ
ーバBではそのクライアント情報を共有する(ステップ
S121)。この情報の共有によって、サーバA、B間
で一旦サーバ間接続が確立した後でも、新たに追加され
たクライアント情報を共有化することができ、効率の高
いデータ送信が可能となる。
【0133】以上のような手順で接続を行った後では、
図14に示すようなデータ送信を実行することが可能で
ある。なお、図14に示す例は、本実施形態のコミュニ
ケーションシステム1の作動例の一例に過ぎず、また、
サーバの数も一対に限定されずに更に多くのサーバの間
でデータを送受信するようにしても良い。
【0134】この図14の例においては、先ず、クライ
アントa1からデータ送信を開始する場合について説明
する。クライアントa1からサーバAにデータが宛先の
ヘッダを伴って送信される(ステップS131)。サー
バAでは、宛先が自サーバ即ちサーバAに属しているか
否か判断され、属している場合(YES)、宛先のクラ
イアントa2にデータ送信を行う。
【0135】宛先が自サーバに属していない場合、ステ
ップS133に進み、このサーバAで所定のデータ加工
を行う。ここで行われるデータ加工は、サーバ間のデー
タ送信を効率良く進めるための情報処理であり、例え
ば、幾つかの画像をあて先が異なる場合でも統合しなが
ら送信する方法や、画像のフレームレートを落として送
信する方法や、幾つかのテキスト情報を一括して送信す
る方法や、仮想プライベートネットワーク等を用いた送
信を行う場合の暗号化処理を一括して行う方法や、異な
るパーソナルコンピュータ接続におけるデータ間の相関
を利用して圧縮をかける方法など種々の方法が挙げられ
る。データ加工法は単独であっても良く、複数の加工法
を組み合わせたものであっても良い。
【0136】このようなデータ加工の後、宛先が他サー
バに属しているか否かが判断され(ステップS13
4)、他サーバ(ここではサーバB)に属している場
合、すなわちサーバBに接続するクライアントb1が送
信先である場合に、先ずサーバBに対してデータ転送が
行われ、次いでサーバBからクライアントb1にデータ
が送られる(ステップS135)。ここでサーバAから
サーバBへの転送時には、ステップS133で行われた
データ加工によってデータ量が削減されており、高効率
なデータ転送が実現されることになる。サーバBでは、
高効率なデータ転送を受け、必要な場合には加工した状
態を元に戻す作業が行われ、戻した状態で宛先であるク
ライアントb1にデータを送信する。このサーバBとク
ライアントb1のデータ送信は通常のクライアント・サ
ーバ型接続であり、当該コミュニケーションアプリケー
ションに搭載されたモジュールを活用することで通信が
行われる。
【0137】次に、データ加工の例を図15〜図17を
参照しながら説明する。先ず、図15は画像データを統
合して送信する例のフローチャートである。このデータ
加工例では、サーバA側のクライアントからサーバB側の
クライアントに、画像データを送る場合を示している。
【0138】先ず、ステップS141でサーバAは、当
該サーバA側のクライアントから画像データを受信す
る。この画像データの受信に応じて、当該サーバAでは
画像データ管理テーブルの更新が行われ(ステップS1
42)、受信した画像データに関する情報、例えばデー
タの送り先、画像データの種類、保存場所、データサイ
ズ、送り先のコンピュータ名、IPアドレス、更新日時
などが画像データ管理テーブルに記録される。
【0139】このような画像データ管理テーブルに対す
る記録の後、ステップS143ではサーバAに内蔵され
るカウンタにより何回目の受信かをカウントする。何回
目の受信かをカウントするのではなく、カウントの対象
を画像ファイルの数とすることもでき、サーバAに蓄積
された画像ファイルの累積サイズ数などを計数しても良
い。次にステップS144で所要回数であるn回目のデ
ータ受信かどうかが判断される。本加工例ではn個のフ
ァイルを一括して送ることから、n回目に達していない
場合(No)にはステップS141に戻って画像データ
を受信してカウントする動作を繰り返す。
【0140】ステップS144でn回目のデータ受信が
なされたと判断される場合(Yes)では、ステップS
145に進み、画像データ管理テーブルの画像データを
一括して1つのファイルに統合し、その統合したデータ
を当該サーバAからサーバBに送信する。その後、サー
バAではカウンタがリセットされ(ステップS14
6)、ステップS141に戻って画像データを受信して
カウントする動作を繰り返す。
【0141】一方、サーバBではステップS147で、
サーバAからの一括した画像データとして受信すると共
にそれを別サーバからの転送データである旨の識別デー
タを追加しながら当該サーバBの画像データ管理テーブ
ルを用いて管理する。その後、ステップS148で宛先
のクライアントに所定の画像データが送信される。
【0142】このような複数の画像データをまとめる加
工方法を用いることで、例えばそれぞれの画像データを
個別に送った場合に必要なヘッダ数などを低減させるこ
とができ、データの全体量を減じて高効率なデータ送信
が可能となる。このデータ送信の際には、画像データ管
理テーブルが使用されるため、送信の際に必要なデータ
を一括して管理することができ、特にデータ更新が頻繁
に生ずる場合などに有効である。
【0143】次に、図16を参照しながら、画像のフレ
ームレートを落として送信する例について説明する。本
加工例においては、別のサーバ側に属するクライアント
に送信するデータは、連続的に送信する場合においてフ
レームレートを同一サーバを介して送信する場合に比べ
て落として送信する。このフレームレートを低くする操
作は、例えば一部の画像を間引くような操作などを利用
することができる。
【0144】先ず、ステップS151でサーバAは、当
該サーバA側のクライアントから画像データを受信す
る。この画像データの受信に応じて、当該サーバAでは
画像データ管理テーブルの更新が行われ(ステップS1
52)、受信した画像データに関する情報、例えばデー
タの送り先、画像データの種類、保存場所、データサイ
ズ、送り先のコンピュータ名、IPアドレス、更新日時
などが画像データ管理テーブルに記録される。
【0145】このような画像データ管理テーブルに対す
る記録の後、ステップS153ではサーバAに内蔵され
るカウンタにより何回目の受信かをカウントする。何回
目の受信かをカウントするのではなく、カウントの対象
を画像ファイルの数とすることもでき、サーバAに蓄積
された画像ファイルの累積サイズ数などを計数しても良
い。次にステップS154で2回目のデータ受信かどう
かが判断される。ここで2回目か否かを判断しているの
は、2枚分の画像データがある場合に1枚分だけの画像デ
ータを送信するためであり、例えば、3枚分の画像デー
タを1枚分に圧縮或いは間引きする場合では、3回目の
受信か否かが判断される。2回目に達していない場合
(No)にはステップS151に戻って画像データを受
信してカウントする動作を繰り返す。
【0146】ステップS151で2回目に達している場
合(Yes)、ステップS152に進み、画像データを
サーバAからサーバBに送信する。この時送信されるデ
ータは、サーバAに蓄積された2枚分の画像データを約1
枚分に間引き或いは圧縮した画像データであり、同一の
タイムフレームで送信を行う場合にはフレームレートを
低減させることができる。その後、サーバAではカウン
タがリセットされ(ステップS156)、ステップS1
51に戻って画像データを受信してカウントする動作を
繰り返す。
【0147】一方、サーバBでは、ステップS157
で、サーバAからの間引きされた或いは圧縮された画像
データを受信すると共にそれを別サーバからの転送デー
タである旨の識別データを追加しながら当該サーバBの
画像データ管理テーブルを用いて管理する。その後、サ
ーバBはステップS158で宛先のクライアントに所定
の画像データを送信する。
【0148】このような画像データの間引きや圧縮が行
われた上でサーバ間のデータ転送が行われる加工例にお
いては、フレームレートを同一サーバを介して送信する
場合に比べて落として送信することから、仮にデータ量
が大きくなった場合でもサーバの負荷を低減させること
ができ、システム全体としての効率の良いデータ転送が
実現される。
【0149】次に、図17を参照しながら、複数のテキ
ストを統合して送信する場合について説明する。テキス
ト情報を送信する場合、通常ヘッダ情報が加わってお
り、テキスト情報などの情報量が少ないものはヘッダ情
報の割合が大きくなってしまう。そこで本加工例では、
サーバ間データ送信に先立ってテキスト情報をいくつか
統合し、その統合されたテキスト情報をサーバ間で送信
させてヘッダ情報の分だけデータ量を減らすことができ
る。
【0150】先ず、ステップS161でサーバAは、当
該サーバA側のクライアントからテキスト情報を受信す
る。この時受信するのは、サーバA側のクライアントか
ら送信されたテキスト情報であり、この段階でサーバB
側のクライアントからテキスト情報はサーバAには蓄積
されない。このようなテキスト情報はサーバAに蓄積さ
れ(ステップS162)、このサーバAでは蓄積された
テキスト情報のバイト数がカウントされる(ステップS
163)。このテキスト情報のバイト数のカウントと共
に、何回目のデータ受信かもカウントされ(ステップS
164)、この回数とバイト数での条件ジャンプが実行
される。
【0151】条件はS165とS166の各ステップに
示されるものであり、先ずステップS165では蓄積さ
れたバイト数が規定を超えたか否かが判断され、超えた
と判断される場合(Yes)にはステップS167にジ
ャンプし、サーバAがテキスト情報を1つにまとめ、そ
れを1つのデータとしてサーバBに送信する。ステップ
S165で蓄積されたバイト数が規定を超えていないと
判断される場合(No)には、ステップS166に進
み、n回目のデータ受信かどうかが判断される。n回目
に達していない場合(No)にはステップS161に戻
ってテキストデータを受信してカウントする動作を繰り
返す。
【0152】ステップS166でn回目のデータ受信が
なされたと判断される場合(Yes)では、ステップS
167に進み、サーバAがテキスト情報を1つにまと
め、それを1つのデータとしてサーバBに送信する。そ
の後、サーバAではカウンタがリセットされ(ステップ
S168)、ステップS161に戻って、前述のテキス
トデータを受信してカウントする動作を繰り返す。
【0153】一方、サーバBではステップS167で統
合されたデータを複数のテキストデータに分解し(ステ
ップS169)、その後、サーバBはステップS170
で宛先のクライアントに所定のテキストデータを送信す
る。
【0154】このようなテキスト情報の統合が行われた
上でサーバ間のデータ転送が行われる加工例において
は、ヘッダ情報などのデータ量を削減することができ、
システム全体としての効率の良いデータ転送を実現でき
る。
【0155】(8)他の実施の形態 なお、上述においては、本発明の実施の形態として、コ
ミュニケーションシステム1を構成する各情報処理装置
上で実行処理されるコミュニケーションプログラムに注
目して説明したが、本発明は、このようなコミュニケー
ションプログラムが実行処理されることにより実現され
るコミュニケーションシステム、上述したコミュニケー
ションプログラムにより実行される処理に相当する手続
きが行われることにより実現されるコミュニケーション
方法、或いは、上述したコミュニケーションプログラム
により実行される処理に相当する手続きが他のソフトウ
ェア又はハードウェア的手法により実現される情報処理
装置に対して、広く適用することができることは述べる
までもない。
【0156】
【発明の効果】本発明の情報処理システムによれば、一
方の第1の情報処理装置に接続される第2の情報処理装
置と、他方の第1の情報処理装置に接続される第3の情
報処理装置は、互いに直接接続されておらず、第2の情
報処理装置と第3の情報処理装置の間でデータ送信を行
う場合には、前記一対の第1の情報処理装置同士の間で
データが送受信され、複数の第2の情報処理装置と第3
の情報処理装置の間で送信されるデータを圧縮、統合、
間引きなどをすることが可能であることから、サーバ間
におけるデータ量などを有効に減らすことができる。こ
のためクライアントが個別に接続を確立させて個別にデ
ータ送信を行う場合に比べて大幅に効率を向上させるこ
とができる。
【図面の簡単な説明】
【図1】本発明の実施形態として示すコミュニケーショ
ンシステムの全体的な基本構成を示す概略図である。
【図2】同コミュニケーションシステムに用いられるコ
ンピュータ装置の構成を示す機能ブロック図である。
【図3】同コンピュータ装置上で実行処理されるコミュ
ニケーションプログラムのモジュール構造を示す模式図
である。
【図4】同コミュニケーションプログラムによりデータ
が送受信されることにより、当該コミュニケーションプ
ログラムを構成するアプリケーションモジュールが起動
される場合について説明する模式図である。
【図5】同コミュニケーションプログラムにおいて用い
られる接続設定情報のデータ構造を示す模式図である。
【図6】同コミュニケーションプログラムが実行される
ことによる全体的な処理の流れについて示すフローチャ
ートである。
【図7】同コミュニケーションプログラムで用いられる
機能モジュールリストのデータ構造を示す模式図であ
る。
【図8】同コミュニケーションプログラムが実行される
ことによる全体的な処理の流れについて示すフローチャ
ートである。
【図9】同コミュニケーションプログラムにおいて起動
されるサーバモジュールによる処理の流れについて示す
フローチャートである。
【図10】同コミュニケーションプログラムにおいて起
動されるサーバモジュールによる処理の流れについて示
すフローチャートである。
【図11】同コミュニケーションプログラムにおいて起
動されるサーバモジュールで用いられるユーザリストの
データ構造を示す模式図である。
【図12】本実施形態のコミュニケーションシステムの
サーバー側の処理を説明するためのフローチャートであ
る。
【図13】本実施形態のコミュニケーションシステムの
サーバ接続時の動作を説明するためのフローチャートで
ある。
【図14】本実施形態のコミュニケーションシステムの
データ送信時の動作を説明するためのフローチャートで
ある。
【図15】本実施形態のコミュニケーションシステムの
データ加工時の動作を説明するためのフローチャートで
あって、画像データを統合する加工の例のフローチャー
トである。
【図16】本実施形態のコミュニケーションシステムの
データ加工時の動作を説明するためのフローチャートで
あって、画像データを間引きする加工の例のフローチャ
ートである。
【図17】本実施形態のコミュニケーションシステムの
データ加工時の動作を説明するためのフローチャートで
あって、テキストデータを統合する加工の例のフローチ
ャートである。
【図18】一般的なクライアント・サーバモデルを説明
するための模式図である。
【図19】一般的なクライアント・サーバモデルを説明
するための模式図であって、ルータを有する構成例を例
示する模式図である。
【符号の説明】
1 コミュニケーションシステム、10 コンピュータ
装置、11 インターネット、20 CPU、21 R
AM、50 インターフェースモジュール、51 コア
モジュール、52 基本モジュール、53 アプリケー
ションモジュール、54 GUIモジュール
───────────────────────────────────────────────────── フロントページの続き (72)発明者 西澤 繁彦 東京都品川区北品川6丁目7番35号 ソニ ー株式会社内 Fターム(参考) 5B089 GB01 HB02 HB19 KA12 KB03 KC23 KC28 5K030 HB02 KA01 LA07 LB02

Claims (19)

    【特許請求の範囲】
  1. 【請求項1】 サーバとして機能する一対の第1の情報
    処理装置と、 クライアントとして機能し前記第1の情報処理装置の一
    方と接続されると共に前記第1の情報処理装置の他方と
    非接続とされる第2の情報処理装置と、 クライアントとして機能し前記第1の情報処理装置の他
    方と接続されると共に前記第1の情報処理装置の一方と
    非接続とされる第3の情報処理装置と、 前記各情報処理装置の間を接続する情報通信網とからな
    り、 前記各情報処理装置では共通のネットワークアプリケー
    ションが作動し、前記ネットワークアプリケーションの
    動作中には前記第2の情報処理装置と前記第3の情報処
    理装置の間での情報の送受信のために前記一対の第1の
    情報処理装置同士が接続を確立することを特徴とする情
    報処理システム。
  2. 【請求項2】 前記情報処理網はインターネットを含む
    ネットワークであり、前記一対の第1の情報処理装置同
    士は対等な関係で接続されることを特徴とする請求項1
    記載の情報処理システム。
  3. 【請求項3】 前記対等な関係での接続はピアツーピア
    型接続であることを特徴とする請求項2記載の情報処理
    システム。
  4. 【請求項4】 前記情報処理網はインターネットを含む
    ネットワークであり、前記一対の第1の情報処理装置同
    士は情報を提供する側と受ける側に分けられる形式の接
    続が行われることを特徴とする請求項1記載の情報処理
    システム。
  5. 【請求項5】 前記提供する側と受ける側に分けられる
    形式の接続はクライアント・サーバ型接続とされること
    を特徴とする請求項4記載の情報処理システム。
  6. 【請求項6】 前記一対の第1の情報処理装置間のデー
    タ転送では、複数の画像データが集合的に送信されるこ
    とを特徴とする請求項1記載の情報処理システム。
  7. 【請求項7】 前記一対の第1の情報処理装置間のデー
    タ転送では、画像データのフレームレートを通常よりも
    低い速度で送信されることを特徴とする請求項1記載の
    情報処理システム。
  8. 【請求項8】 前記一対の第1の情報処理装置間のデー
    タ転送では、複数のテキストデータが集合的に送信され
    ることを特徴とする請求項1記載の情報処理システム
  9. 【請求項9】 前記ネットワークアプリケーションはリ
    アルタイムでの交信可能なコミュニケーションアプリケ
    ーションであることを特徴とする請求項1記載の情報処
    理システム。
  10. 【請求項10】 サーバとして機能する一対の第1の情
    報処理装置と、クライアントとして機能し前記第1の情
    報処理装置の一方と接続されると共に前記第1の情報処
    理装置の他方と非接続とされる第2の情報処理装置と、
    クライアントとして機能し前記第1の情報処理装置の他
    方と接続されると共に前記第1の情報処理装置の一方と
    非接続とされる第3の情報処理装置と、前記各情報処理
    装置の間を接続する情報通信網とを有するシステムで使
    用される情報処理方法において、 前記第2の情報処理装置からの情報を前記第1の情報処
    理装置の一方に転送し当該第1の情報処理装置の一方に
    格納する手順と、 前記第1の情報処理装置の一方に格納された情報を前記
    第1の情報処理装置の他方に転送し当該第1の情報処理
    装置の他方で格納する手順と、 前記第1の情報処理装置の他方で格納された情報を前記
    第3の情報処理装置に転送する手順を有することを特徴
    とする情報処理方法。
  11. 【請求項11】 前記一対の第1の情報処理装置間の情
    報の転送では、複数の画像データが集合的に送信される
    ことを特徴とする請求項10記載の情報処理方法。
  12. 【請求項12】 前記一対の第1の情報処理装置間の情
    報の転送では、画像データのフレームレートを通常より
    も低い速度で送信されることを特徴とする請求項10記
    載の情報処理方法。
  13. 【請求項13】 前記一対の第1の情報処理装置間の情
    報の転送では、複数のテキストデータが集合的に送信さ
    れることを特徴とする請求項8記載の情報処理方法。
  14. 【請求項14】 前記ネットワークアプリケーションは
    リアルタイムでの交信可能なコミュニケーションアプリ
    ケーションであることを特徴とする請求項8記載の情報
    処理方法。
  15. 【請求項15】 サーバとして機能する一対の第1の情
    報処理装置と、クライアントとして機能し前記第1の情
    報処理装置の一方と接続されると共に前記第1の情報処
    理装置の他方と非接続とされる第2の情報処理装置と、
    クライアントとして機能し前記第1の情報処理装置の他
    方と接続されると共に前記第1の情報処理装置の一方と
    非接続とされる第3の情報処理装置と、前記各情報処理
    装置の間を接続する情報通信網とを有するシステムで共
    通に使用される情報処理ネットワークプログラムにおい
    て、 前記第2の情報処理装置からの情報を前記第1の情報処
    理装置の一方に転送し当該第1の情報処理装置の一方に
    格納した後、前記第1の情報処理装置の一方に格納され
    た情報を前記第1の情報処理装置の他方に転送して当該
    第1の情報処理装置の他方で格納し、前記第1の情報処
    理装置の他方で格納された情報を前記第3の情報処理装
    置に転送する処理を実行させることを特徴とする情報処
    理ネットワークプログラム。
  16. 【請求項16】 前記一対の第1の情報処理装置間の情
    報の転送では、複数の画像データが集合的に送信される
    ことを特徴とする請求項15記載の情報処理ネットワー
    クプログラム。
  17. 【請求項17】 前記一対の第1の情報処理装置間の情
    報の転送では、画像データのフレームレートを通常より
    も低い速度で送信されることを特徴とする請求項15記
    載の情報処理ネットワークプログラム。
  18. 【請求項18】 前記一対の第1の情報処理装置間の情
    報の転送では、複数のテキストデータが集合的に送信さ
    れることを特徴とする請求項15記載の情報処理ネット
    ワークプログラム。
  19. 【請求項19】 前記ネットワークアプリケーションは
    リアルタイムでの交信可能なコミュニケーションアプリ
    ケーションであることを特徴とする請求項15記載の情
    報処理ネットワークプログラム。
JP2002004524A 2002-01-11 2002-01-11 情報処理システム、情報処理方法、及び情報処理ネットワークプログラム Pending JP2003208364A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002004524A JP2003208364A (ja) 2002-01-11 2002-01-11 情報処理システム、情報処理方法、及び情報処理ネットワークプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002004524A JP2003208364A (ja) 2002-01-11 2002-01-11 情報処理システム、情報処理方法、及び情報処理ネットワークプログラム

Publications (1)

Publication Number Publication Date
JP2003208364A true JP2003208364A (ja) 2003-07-25

Family

ID=27643830

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002004524A Pending JP2003208364A (ja) 2002-01-11 2002-01-11 情報処理システム、情報処理方法、及び情報処理ネットワークプログラム

Country Status (1)

Country Link
JP (1) JP2003208364A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9438532B2 (en) 2012-05-18 2016-09-06 Ricoh Company, Ltd. Transmission management system, transmission system, and program for transmission management system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9438532B2 (en) 2012-05-18 2016-09-06 Ricoh Company, Ltd. Transmission management system, transmission system, and program for transmission management system

Similar Documents

Publication Publication Date Title
CN100587681C (zh) 用于在相互通信的用户之间传递图像的系统和方法
JP3955989B2 (ja) ストリームデータ分散配信方法及びそのシステム
US20190089760A1 (en) Systems and methods for real-time content creation and sharing in a decentralized network
JP3628359B2 (ja) データ転送方法、データ送信装置、データ受信装置およびビデオメールシステム
KR100741463B1 (ko) 통신 네트워크에서의 방법 및 장치
JP4519877B2 (ja) モバイルメッセンジャーサービスの利用中にイメージを伝送する移動通信端末機及びその方法
KR20040071200A (ko) 화상회의 대역폭 선택 메커니즘
US7392288B2 (en) Information processing apparatus, information processing method, information exchanging method, recording medium, and program
EP3070935B1 (en) Apparatus, system, and method of controlling output of content data, and carrier means
JP2007295576A (ja) モバイルメッセンジャーサービスの利用中に音声メッセージを伝送する移動通信端末機及びその方法
WO2023005701A1 (zh) 数据通信方法及装置、电子设备、存储介质
KR100937681B1 (ko) 사용자간 통신을 위한 통신 모듈 및 방법, 그러한 통신 모듈을 포함하는 서버, 그러한 서버를 포함하는 방송 세트, 그러한 사용자간 통신 방법을 수행하는 컴퓨터 프로그램 제품을 저장한 저장 매체
WO2014183540A1 (zh) 一种视频监控的内容适配方法、系统及中心服务器、装置
JP2023508061A (ja) アカウントアクセス方法及びその装置、記憶媒体、並びに電子機器
JP2003203023A (ja) 情報処理システム、情報処理装置、情報処理方法、及び情報処理ネットワークプログラム
JP2003299069A (ja) 画像配信方法およびその動作処理を実行するプログラムおよびそのプログラムを記憶した記憶媒体、および画像配信装置および画像受信装置
CN113242173A (zh) 屏幕的分享方法、装置、系统和即时通讯服务器
JP2002324038A (ja) コミュニケーションシステム、端末装置、コミュニケーションプログラム、コミュニケーションプログラムを記録したコンピュータ読み取り可能な記録媒体、及びコミュニケーション方法
JP2007207013A (ja) 情報処理装置、情報共有プログラム
JP2004248165A (ja) セッションおよびメディア中継方法、転送方法、ならびにそのプログラムと記録媒体
JP4049123B2 (ja) 電子機器及び制御方法
JP4229774B2 (ja) セッション制御プログラムと通信端末装置
JP2012108909A (ja) モバイルメッセージングサービスにおけるファイル送信をサポートするファイル送信管理システム及びファイル送信管理方法
JP2003208364A (ja) 情報処理システム、情報処理方法、及び情報処理ネットワークプログラム
JP2003091472A (ja) コンテンツ配信システム、コンテンツ配信方法、及びコンテンツ送出プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050107

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20050107

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20050202

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071210

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080407

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080606

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080701

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080806

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20080904

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20081003