JP2005158068A - P2pプロトコルを用いてアプリケーションを共有する方法及び装置 - Google Patents

P2pプロトコルを用いてアプリケーションを共有する方法及び装置 Download PDF

Info

Publication number
JP2005158068A
JP2005158068A JP2004335167A JP2004335167A JP2005158068A JP 2005158068 A JP2005158068 A JP 2005158068A JP 2004335167 A JP2004335167 A JP 2004335167A JP 2004335167 A JP2004335167 A JP 2004335167A JP 2005158068 A JP2005158068 A JP 2005158068A
Authority
JP
Japan
Prior art keywords
application
peer
server
session
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.)
Pending
Application number
JP2004335167A
Other languages
English (en)
Inventor
Joon-Ho Cho
俊晧 趙
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2005158068A publication Critical patent/JP2005158068A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/08Protocols specially adapted for terminal emulation, e.g. Telnet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1063Discovery through centralising entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1068Discovery involving direct consultation or announcement among potential requesting and potential source peers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】P2P方式を用いてピア同士それぞれが搭載しているアプリケーションをライセンスに抵触することなく、他のピアでも使用できるようにし、互いの遊休リソースを効率良く利用できるようにする方法及び装置を提供すること。
【解決手段】本発明に係るアプリケーションを共有する方法は、第1のピアが共有しようとするアプリケーションを登録するステップ1と、第2のピアから受信したアプリケーション検索の命令に含まれる検索条件を前記登録されたアプリケーションファイルが満しているかどうかを判断し、判断結果によって第2のピアにディスクリプションファイルを送信するステップ2と、検索条件を満たすアプリケーションに関するサービスを実行するために、第2のピアと所定のプロトコルで接続するステップ3と、アプリケーションに関するリモートディスプレイサービスを第2のピアに提供するセッションを実行するステップ4とを含むことを特徴とする。
【選択図】図6

Description

本発明は、アプリケーションを共有する方法に関し、より詳しくは、P2P(Peer-to-Peer)方式を用いてピア(Peer)同士それぞれが搭載しているアプリケーションをライセンス(license)に抵触することなく、他のピアでも使用できるようにし、互いの遊休リソースを効率良く利用できるようにする方法及び装置に関する。
インターネットの一般的なデータモデルであるクライアント/サーバ(Client/Server)モデルは、データの生産者が少数のサーバであり、この少数のサーバに複数のクライアントがアクセスして使用する方式である。しかし、インターネットの使用量が急増しており、インターネットの使用に匿名性が保たれることにより、かつ、自由なデータのやり取り及び複製などに対するユーザの要求が増加するにつれて、P2Pをベースとした様々なアプリケーションが登場してきた。その中、グヌテラ(Gnutella)、ナプスター(Napster)などのようなファイル共有アプリケーションが代表的である。これらのファイル共有アプリケーションは、特定のサーバ無しに何れでもサーバになったり、クライアントになったりするピアから構成されている。このようはピアは、P2Pプロトコルで具現されたネットワークに参加できるデバイスを意味するが、各ピアは、独立に、かつ非同期的に作動することが可能であり、ピアID(peer indentification)によって区分される。一方のピアと他方のピアが相互サービスを連動するためには、両方のピアが直接接続する必要はなく、中間に他のピアをルーティング(routing)のための媒介として、所望のピアと通信したり、サービスを提供したり、提供されたりすることができる。
グヌテラの場合は、図1(a)に示すように、純粋な形態のP2Pモデルから構成される。このとき、各ピアは、データを検索するために実時間でノード(node)を検索し、検索の結果、該当のデータを有しているノードを見付けると、接続を結び、データをやり取りする。一方、ナプスターの場合、図1(b)に示すように、データをやり取りする主体は、依然としてピアであるが、これらに対する検索は、別の検索サーバを介して行われる。グヌテラに関するより詳しい内容は、「http://www.gnutella.com」で見ることができる。
ファイルの共有の他にも、「Grid computing」(「http://www.ibm.com/grid」参照)、「SETI@home」(「http://setiathome.ssl.berkeley.edu」参照)のように、コンピュータのリソースを共有するプロジェクト(project)もある。しかし、このようなプロジェクトは、図1の(a)または(b)のように、ピアの間で互いにリソースを共有するのではなく、図2のように、処理時にリソースを大いに要求する数学演算などで必要な生のデータ(raw data)を分割し、各ピアに割り当てた後、それぞれのピアで割り当てられたデータを処理し、マスターが前記処理されたデータ(processed data)を再びまとめる構造になっている。
図3は、代表的なP2PプロトコルであるJXTAのソフトウェアアーキテクチャーを示している。ウェブページ「http://www.jxta.org/」を参照すれば、JXTAに対するより詳しい内容を見ることができる。このようなJXTAは、OS(operating system)、ネットワーク、プログラミング言語(programming language)に対し、独立したP2Pアプリケーションを実行できるように作成した汎用プラットフォームである。このようなJXTAを始めとする一般的なP2Pファイル共有システムは、既存のTCP/IP(Transmission Control Protocol/Internet Protocol)系列のインターネットを基盤としており、ここに、コア(core)に該当するP2Pプロトコルスタック(P2P protocol stack)が積層される。P2Pプロトコルスタックを共通的に大別すると、各ピアの間でグループまたはコミュニティを形成するために、互いにを発見し、モニタリングするディスカバリ(discovery)部分、所望のサービスやデータを検索するクエリー(query)部分、及びサービスやデータを提供するピアと接続(connection)を形成する部分とに分けられる。このようなP2Pプロトコルスタックの上に、これを利用してファイル共有のようなアプリケーションが動作する。
このようなP2P共有モデルは、その動作方式において多少差がある。図5は、通常使用されるP2Pモデルのアプリケーションであるグヌテラファイル共有アプリケーションの動作方式を示すフローチャートであるが、グヌテラは、図1(a)に示すように、純粋なピアの集合からなるノード形態をベースとするシステムである。このようなグヌテラのファイル共有アプリケーションの動作を説明すると、既存に第1のピア10及び第3のピア30が参加しているネットワークに、第2のピア20が新たに参加する。このとき、隣りにいかなるピアが存在するかを確認するために、ノードを発見(node discovery)するためのパケット(packet)である「Ping」パケットをブロードキャスト(broadcast)すると(S510)、隣接するピアは、これに応答する「Pong」パケットを第2のピア20に送信する(S520)。このような過程により、第2のピア20は、隣りに第1のピア10と第3のピア30とが存在することが分かる。その後、所望のファイルを検索する「Query」パケットをブロードキャストすると(S530)、隣接するピアのうち、検索条件に合致するファイルを有しているピアが「Query hit」パケットとして応答することになる(S540)。その後、第2のピア20は、Query hitパケットとして応答したピアの中で何れか一つのピアを選択して、これと接続し(S550)、GETまたはPUSH方式で所望のファイルを受信する(S560)。一般に、ファイルを受信するときには、GET命令を用いるが、第2のピア20がファイヤーウォール内に存在する場合のように、特殊な条件ではファイルを有している第2のピア20がPUSHする方式を用いることもある。1つの完成されたアプリケーションとして動作するためには、このようなP2Pプロトコルスタックの他にも、認証(authentication)、セッション(session)、ユーザインタフェース(GUI)のような要素(component)と組み合わせなければならない。
前記P2Pモデルの他に、本発明に関連した技術としてリモートディスプレイシステム(Remote display system)があるが、代表的な技術としては「Xウィンドウシステム(X Window System)」、「VNC(Virtual Network Computing)」などがある。Xウィンドウシステムに関する詳しい情報は、ウェブページ「http://www.x.org」で、VNCに関する詳しい情報は、ウェブページ「http://www.uk.research.att.com/VNC/」で見ることができる。このような技術は、図4に示すように、遠隔地ビューア(remote viewer)においてキーボード、マウスなどの入力装置を用いてサーバに接続し、様々な命令を伝達すると、サーバが前記命令に応じてアプリケーションを実行し、その結果のディスプレイ情報を再び遠隔地ビューアに伝達する方式である。このような遠隔地ビューアの役割をするクライアントは、サーバのプログラムをダウンロードして実行するのではなく、全ての動作の実行はサーバで行われ、ただ、サーバで実行された結果を呈示するだけであるから、いわゆる、シンクライアント(thin client)とも言えるだろう。
VNCの場合、殆どのOSで実行することができる。つまり、OS間の相互運用性(interoperability)を満たす。例えば、リナックスシステムでウィンドウズ(登録商標)サーバに接続してプログラムを実行させ、リナックスシステムで出力画面を見ることができるし、逆にウィンドウズ(登録商標)システムでもリナックスサーバに接続してプログラムを実行させ、出力画面を見ることができる。また、PDAのようなモバイルデバイスにおいてもプロトコルを満たすビューア(viewer)だけあれば、サーバのプログラムを実行することができる。
図4を参照してVNCの動作を説明すると、VNCは、サーバがクライアント側のビューアにディスプレイされるフレームバッファ(frame buffer)を更新する原理で動作する。この意味でVNCをリモートフレームバッファ(remote frame buffer;RFB)とも呼ぶ。このとき、ディスプレイされるピクセルの情報は、ビデオデータを転送する場合と同様に様々な方式で、かつ、状況に適した(adaptive)方式で転送される。具体的には、クライアント、即ち、VNCビューアがキーボード、マウスなどの入力装置を用いて命令を伝達すると、VNCサーバは、前記命令に応じてサーバ内に格納されたアプリケーションを実行し、その結果をVNCビューアに伝達する方式になっている。前記VNCビューアとVNCサーバとの間の通信は、VNCプロトコルを介して、ネットワークの状況によって様々な品質(quality)で行われる。
前記P2P共有モデルやリモートディスプレイシステムは、以下のような問題点乃至不都合を抱えている。P2P方式は、複数のピアがコミュニティを形成し、互いの情報やリソースを共有する方式であるが、従来のP2P方式におけるアプリケーションは、殆どファイルの共有にのみ焦点が当てられている。従って、情報の共有が、音楽、動画像のようなファイルにのみ限られており、アプリケーションそのものを共有しようとする要求に応えられなかった。かつ、リソースを共有する幾つかのアプリケーションが存在するが、これはファイルの共有のように純粋なピアの自律的な共有でなく、「Grid computing」や「SETI@home」のように、並列コンピューティングの方式で使用されているだけであった。
一方、リモートディスプレイシステム乃至リモートアクセスシステム(remote access system)は、クライアントが既知のサーバに接続し、1つのユーザーとしてサーバを使用する方式であり、単にサーバに接続してファイルをダウンロードするだけで、サーバのプログラムを複数のクライアントが使用することに過ぎない。従って、これは、ピア間の純粋な共有形態でないことから、クライアント/サーバモデルが有する問題点をそのまま受け継いでいる。即ち、クライアントは、計定が存在するサーバにのみ接続することができ、必ずサーバに使用しようとするアプリケーションが存在しなければならない。従って、これも同様にライセンスが許可されたアプリケーションのみを行うことができる。これだけでなく、複数のクライアントの接続が特定の幾つのサーバにのみ集中されるため、サーバは、さらなる強力なコンピューティングパワーが求められる反面、益々増えているクライアントのコンピューティングパワーは効率的な使用が不可能となるという問題がある。
このように、従来の技術においては、ピアが有しているアプリケーションをコミュニティの全てのクライアントが共有し合うようにする方法がなく、各ピアが自分の遊休リソースを他のピアに提供できる方法も存在しない。
特許文献1には、以下のような記載がある。
コンピュータ・プログラム間のピア・トゥ・ピア通信接続を確立するためのシステム及び方法を開示する。第1のコンピュータ・プログラムは、第2のコンピュータにおいて実行されている間、ピア・トゥ・ピア通信接続を要求している、第2のコンピュータへ通信メッセージを送る。メッセージを受信することにより、第2のコンピュータは、ピア・トゥ・ピア通信接続を確立するための所定の基準を満たしている第2のコンピュータ・プログラムが実行されているときに要求を受け入れる応答メッセージを第1のコンピュータに送り、第1及び第2のコンピュータ・プログラムの間の要求されたピア・トゥ・ピア通信接続が確立される。前記所定の基準は、第1及び第2のコンピュータ・プログラムが同じサーバ・コンピュータである。
特開平10−105529号公報
本発明は、上記問題点に鑑みなされたものであり、最近、インターネット環境で関心が集まれているP2P方式を用いてピア間のアプリケーションやリソースを効率良く共有できる方法を提供することを目的とする。
また、本発明は、アプリケーションを共有することにより、別の設置を行うことなく、他のプラットフォームのアプリケーションを使用できるようにすることを他の目的とする。
また、本発明は、PCの遊休リソースを共有することにより、現在のリソースや環境で行うことのできないアプリケーションの使用を可能とすることをさらに他の目的とする。
上記の目的を達成するため、本発明に係るP2Pプロトコルを用いてアプリケーションを共有する方法は、サーバ機能を有する第1のピアが共有しようとするアプリケーションを登録するステップ1と、クライアント機能を有する第2のピアから受信したアプリケーション検索の命令に含まれる検索条件を前記登録されたアプリケーションファイルが満しているかどうかを判断し、前記判断結果によって前記第2のピアに前記ディスクリプションファイルを送信するステップ2と、前記検索条件を満たすアプリケーションに関するサービスを実行するために、前記第2のピアと所定のプロトコルで接続するステップ3と、前記アプリケーションに関するリモートディスプレイサービスを前記第2のピアに提供するセッションを実行するステップ4とを含むことを特徴とする。
本発明に係るP2Pプロトコルを用いて共有されたアプリケーションを使用する方法は、クライアント機能を有するピア(a)のユーザがサービスを受けたいアプリケーションの検索条件を入力するステップ1と、前記検索条件を用いて検索メッセージを構成した上、隣接するピアに検索命令を送信するステップ2と、前記隣りのピアのうち、前記検索条件を満たすアプリケーションを登録しているピアから前記アプリケーションに関するディスクリプションファイルを受信するステップ3と、前記ディスクリプションファイルに基づいて、前記アプリケーションを登録しているピアの中から前記ピア(a)のユーザが選択したピア(b)と所定のプロトコルで接続するステップ4と、前記アプリケーションに関するリモートディスプレイサービスを前記ピア(b)から提供されるセッションを実行するステップ5とを含むことを特徴とする。
また、本発明に係るP2Pプロトコルを用いてアプリケーションを共有するサーバは、ユーザの入力によって共有しようとするアプリケーションを登録し、全体のアプリケーションまたは個別のアプリケーションに対するサービス政策を設定する登録モジュールと、サーバの遊休リソースを測定し、前記登録されたアプリケーションが平均的に使用するリソースの量を点検するリソース点検モジュールと、前記登録モジュール及び前記リソース点検モジュールに基づいて、現在サービス可能なアプリケーションについての情報と前記アプリケーションをサービスする環境についての情報とを含んだディスクリプションファイルを生成するディスクリプションモジュールと、クライアントにリモートディスプレイサービスを提供するセッションを維持したり、終了したりするセッションモジュールとを備えることを特徴とする。
また、本発明に係るP2Pプロトコルを用いて共有されたアプリケーションを使用するクライアントは、サービスを受けたいアプリケーションに対する検索条件をクライアントのユーザから受信し、検索条件を満たすアプリケーションを検索するための検索メッセージを作成し、これを隣接するピアに転送する検索モジュールと、前記隣接するピアのうち、前記検索条件を満たすアプリケーションを登録しているサーバから前記アプリケーションに関するリモートディスプレイサービスの提供を受けるセッションを維持したり、終了したりするセッションモジュールとを備えることを特徴とする。
このような本発明によるP2Pプロトコルを用いてアプリケーションを共有する方法及び装置によれば、第一に、ライセンスに抵触することなく、アプリケーションを共有することが可能となる。ピア間のアプリケーションの共有は、アプリケーションの無断複製、配布とは異なる。アプリケーションは、許可されたコンピュータでのみ実行され、その以外のところには複製されない。但し、他の匿名のユーザが遠隔でアクセスする場合、例えば、ゲームライセンスの無いユーザであっても、他人のコンピュータでゲームを行い、遠隔地でディスプレイを見てコントロールすることができる。
第二に、本発明によれば、別の設置を行うことなく、アプリケーションを使用することができる。使用頻度の低いプログラムの場合、一回、二回の使用のために長時間の設置を行わなければならず、かつ、必要なくなったときには、削除する過程を行わなければならない。しかし、本発明においては、使用頻度の低いアプリケーションを他のピアのコンピュータでも実行することができる。
第三に、本発明によれば、他のオペレーティングシステムや他の種のプラットフォームを有するクライアントにおいても所望のアプリケーションを使用することができる。例えば、ウィンドウズ(登録商標)でリナックス用アプリケーションを実行することができると共に、PDAを通して一般的なPC用アプリケーションを実行することもできる。
第四に、本発明によれば、クライアントピアがサーバピアの遊休リソースを共有することができ、現在のリソースや環境では実行できないアプリケーションをクライアントピアで使用することが可能となる。例えば、高い仕様のコンピュータリソースを要求する3DシミュレーションやCADのようなアプリケーションを、これらのアプリケーションの組み込まれたPCの遊休時間に行うことにより、該当のアプリケーションを直接行うことのできないPCを有するユーザであってもアプリケーションを使用することが可能となる。
以下、本発明の好ましい実施の形態を、添付図面に基づいて詳しく説明する。
本発明に係るアプリケーション共有システム(Application Sharing System)には、特定のサーバやクライアントが別に存在するのではなく、一方のピアは、クライアントとして、他方のピアのアプリケーションを使用したり、一方のピアが自分のアプリケーションやリソースを他方のピアに供給するサーバの役割も有する。従って、サーバとクライアントとのパートが1つのプログラムとして動作する。しかし、全てのピアが必ずサーバ及びクライアントの機能を共に備えている必要はなく、場合によっては、サーバでのみ動作するピアとクライアントでのみ動作するピアが一部含まれることもある。従って、機能上の面で構成要素をサーバ側とクライアント側とに分ける必要がある。本発明は、ピア間のコミュニティの形成やサービスを受けたいアプリケーションに対する検索プロトコルとしては従来のP2Pプロトコルスタックを使用し、遠隔地のアプリケーションの実行や制御は、従来のリモートディスプレイシステムのサーバ/ビューア構造を用いる。
図6は、本発明に係るアプリケーション共有システムのサーバ側の構成を示している。サーバは、各ピアと共有するアプリケーションを登録し、コンピュータがP2Pネットワークに接続されている間、現在使用可能なシステムリソースをモニタリングする。また、現在登録されたアプリケーションやモニタリングされたシステムリソースに基づいて、サーバ自身に対するディスクリプションを作成し、このディスクリプションに基づいて他のピアから入力される検索メッセージに応答する。P2Pコミュニティを形成している間には、サーバパートは、デーモン(daemon)型で行われ、他のピアから検索やアプリケーションの使用要求がある場合に備えて待機する。もし、他方のピアからアプリケーションの使用要求があれば、接続(connection)を結び、適切なネゴシエーション(negotiation)を経た後、サーバであるピアがクライアントであるピアにリモートディスプレイサービスを提供するセッション(session)を開始する。セッションが開始すると、このときから該当のアプリケーションを遠隔地の他のピアがコントロールできるように、リモートディスプレイシステム(remote display system)を駆動する。
サーバ側ピアの構成を具体的に説明すると、最下位にシステムの駆動のためのオペレーティングシステム(OS)660が存在し、最上位にユーザが使用しようとするアプリケーション610が存在する。オペレーティングシステム660とアプリケーション610との間には、本発明によりP2P方式でコンピュータリソースを共有するためのミドルウェア620が存在する。かつ、前記ミドルウェア620には、複数のピアを発見してコミュニティを形成し、ピア間のデータの送受信を可能とするP2Pプロトコルスタック640と、遠隔地ビューアから伝達された命令に応じてアプリケーションを実行し、その実行の結果を遠隔地ビューアに伝達するリモートディスプレイシステム650、かつ、これらの上位層に本発明においてさらに備えられたアプリケーション共有システムモジュール630が存在する。
前記アプリケーション共有システムモジュール630は、複数の下位モジュールを含むが、以下にこれについて説明する。コンピュータの全てのアプリケーションを他のピアと共有するのではないため、共有したいアプリケーションをユーザが直接登録すべきである。このとき、ユーザは、登録するアプリケーションに対するサービス政策を設定することができる。もし、ここで設定された基準にまでシステムの環境が整っていないと、該当のアプリケーションに対するサービスは中断すべきである。このようなサービス政策の例としては、「CPU使用量がここのところ10分の間、平均50%以上となったとき、該当のアプリケーションに対するサービスを提供することができない」のようなものがある。このように、登録モジュール(registration module)632は、ユーザの入力によって共有したいアプリケーションを登録し、ユーザ入力またはリソース点検モジュール(resource monitoring modue)633によって観測されたリソース統計値により全体または個別のアプリケーションに対するサービスの政策を設定する役割を担う。
サーバ役割を担うピアがクライアントのアプリケーションの使用要求を受けることができるのか、あるいは、現在サービスしているアプリケーションを維持し続けるか否かに対する判断は、現在のサーバのリソース状態や登録過程での政策の影響を受ける。即ち、サーバのリソースが設定された基準を超えて使用されていると、現在の状態ではサービスを提供することができず、クライアントの要求を拒絶または中断する。さらに、他のピアの検索に影響を及ぶディスクリプションファイルもやはり新しく構成すべきである。従って、リソース点検モジュール(resource monitoring module)633は、毎瞬間コンピュータの遊休リソースを測定し、最近の一定時間の間のリソースに対する統計を管理する。かつ、特定のアプリケーションが平均的に幾分のリソースを使用しているのか、即ち、過去の統計値も同様に管理する。リソース点検モジュール633が点検(monitoring)するリソースには、プログラムを実行するときに必要なCPU、メモリ、ネットワーク帯域幅などのような項目が含まれる。
ディスクリプションモジュール(description module)634は、登録モジュール632及びリソース点検モジュール633に基づいて現在サービス可能なアプリケーションについての情報とサービス環境についての情報とを含んだディスクリプションファイル(description file)を生成する役割を担う。具体的には、ディスクリプションファイルには、サービスするアプリケーションの名前、バージョンやその他の情報、サーバのオペレーティングシステム、メモリ、CPU、仮想メモリ、現在該当のアプリケーションに対して提供可能なリソース情報などを含んでいる。ディスクリプションファイルは、サービスするそれぞれのアプリケーションに対して作成されるが、周期的または他のピアの検索の要求があるときに変化するシステム情報を反映して動的に生成される。このように生成されたディスクリプションファイルは、他のピアの検索の要求に応答するメッセージを作成するのに使用される。また、下位P2Pスタックによって異なるが、このようなディスクリプションファイルが広告(advertisement)に使用されることもある。
一方、接続モジュール(connection module)637は、サーバのサービスをクライアントに提供するために、サーバとクライアントとの間で所定のプロトコル(例えば、HTTPプロトコル)で通信を行うことができるように連結する役割を担う。
また、ネゴシエーションモジュール(negotiation module)636は、選択的(optional)構成要素であり、データ転送品質(例えば、Quality of Service;以下、QoSとも称する)やサービス政策などのようにサービスに関連した様々な事項をクライアントと打ち合わせする役割を担う。
セッションモジュール(session module)635は、クライアントにリモートディスプレイサービスを提供するセッションを維持する役割を担う。セッションは、関連したプロセスを一括して維持管理するために必要であるが、1つのセッションには、クライアント側の情報、QoSのような品質情報、安全なプロセス終了、該当のサービス政策、ログ情報(log information)などが含まれる。結局、セッションモジュール635は、提供するアプリケーションのサービス別にこのようなセッションを維持し、サービスの終了と共にセッションを終了する役割を担う。
GUIモジュール(graphic user interface module)631は、サーバユーザが命令を入力できるように、グラフィックインタフェースを提供し、前記サーバユーザから命令を受信する。即ち、GUIモジュール631は、登録過程、アプリケーション共有に対する環境設定、システムのリソースに対するモニタリング結果、接続設定と解除に対するサーバ側コントロールなどを担う。
図7は、本発明に係るアプリケーション共有システムのクライアント側の構成を示す図である。クライアントは、ユーザの要求事項によって検索条件を作成し、検索条件に該当するピアのアプリケーションを検索する。また、検索されたピアの中からユーザが選択したピアとネゴシエーションして接続を結び、アプリケーションの円滑な実行のためにセッションを維持する。セッションが開始されると、ユーザは、リモートディスプレイシステムのビューアを介して相手方のピアのアプリケーションを実行できるようにする。
クライアント側ピアの構成を具体的に説明すると、最下位にシステムの駆動のためのオペレーティングシステム(OS)750が存在し、その上に本発明に係るP2P方式でコンピュータリソースを共有するためのミドルウェア710が存在する。かつ、前記ミドルウェア710には、前記サーバ側のミドルウェア620と同様に、P2Pプロトコルスタック730と、リモートディスプレイシステム740と、かつ、これらの上位層に本発明においてさらに備えられたアプリケーション共有システムモジュール720が存在する。前記アプリケーション共有システムモジュール720は、複数の下位モジュールを含んでいるが、以下にこれについて説明する。
検索モジュール(searching module)712は、クライアントの動作後、ユーザからGUIモジュール631を介してサービスを受けたいアプリケーションに対する検索条件を受信し、その検索条件を満たすサービスを検索するために検索メッセージを作成し、これを下位P2Pスタックを介して他のピアに転送する役割を担う。
接続モジュール(connection module)715は、サーバ側の接続モジュール637と同様に、サーバのサービスの提供を受けるために、サーバとクライアントとの間に所定のプロトコルで通信を行うことができるように接続する役割を担う。
ネゴシエーションモジュール(negotiation module)714は、サーバ側のネゴシエーションモジュール636と同様に、データ伝送品質やサービス政策などのように、サービスに関連した事項をサーバと打ち合わせする役割を担う。
セッションモジュール(session module)713は、サーバからリモートディスプレイサービスの提供を受けるセッションを維持する役割を担う。1つのセッションには、サーバ側情報、QoSのような品質情報、安全なプロセス終了、該当のサービス政策、ログ情報などが含まれる。セッションモジュール713は、提供するアプリケーションのサービス別にこのようなセッションを維持し、サービスの終了と共にセッションを閉じる。
GUIモジュール711は、クライアントユーザが命令を入力できるように、グラフィックインタフェースを提供し、前記サーバユーザから命令を受信する。このように、クライアント側GUIモジュール711は、隣接するノードに対する検索結果及びユーザが要求したサービスに対する検索結果を表示する部分、かつ、ユーザが所望するアプリケーションを検索するためのオプションを入力する部分を含んでいる。これだけでなく、GUIモジュール711は、サーバの状況やネットワークに対する情報を表示する部分を含んでも良い。かつ、GUIモジュール711は、サーバから前記アプリケーションの実行の結果、即ち、リモートディスプレイサービスをリモートディスプレイシステム740を介して伝達され、その結果をクライアントユーザにディスプレイする役割を担う。
図8は、本発明に係る全体の動作を示すフローチャートである。
先ず、サーバ機能を有する各ピア10、20、30は、それぞれ共有しようとするアプリケーションを登録する(S810、S811、S812)。この登録過程では、アプリケーションの実行命令のみならず、アプリケーションをサービスするときにサービスの基準となる種々の政策も共に登録する。
次に、前記各ピア10、20、30の1つの第2のピア20が隣りにいかなるピアがあるかを確認するために、Pingパケットをブロードキャストすると(S820)、隣接する各ピア10、30は、これに応答するPongパケットを第2のピア20に送信する(S830)。これにより、第2のピア20は、隣りに第1のピア10及び第3のピア30が存在することが分かる。
次に、クライアント側(第2のピア)モジュールは、ユーザの要求によって実行される(S840)。ユーザは、他のピアのアプリケーションを使用しようとするとき、サービスを受けたいアプリケーションの検索条件をGUIモジュール711を介して入力する。すると、クライアントの検索モジュール712は、ユーザから入力された検索条件を用いて検索メッセージを構成した上、コミュニティを形成している隣接する各ピア10、30に接続モジュール715を介して検索命令を転送する(S850)。前記検索命令を受信した隣りの各ピア10、30は、自分のディスクリプションファイルを参照し、前記検索条件を満たすと応答し、満たしていないと応答しない。第1のピア10が前記検索条件を満たすアプリケーションを登録していると、第2のピア20にそのアプリケーションに対するディスクリプションファイルを送信し、第2のピア20は、これを受信する(S860)。
このときから第2のピア20と第1のピア10との間でアプリケーションサービスを実行するために接続を行う(S870)。本実施の形態においては、応答としてディスクリプションファイルを送信したピアが1つである場合を例に挙げているが、もし、ディスクリプションファイルを送信したピアが複数である場合には、第2のピア20は、前記ディスクリプションファイルに基づいて前記アプリケーションを登録しているピアの中から第2のピア20のユーザが選択したピアと所定のプロトコルで接続する。
前記接続過程を経た後、第2のピア20と第1のピア10との間にサービスに対するネゴシエーションを開始し(S880)、このネゴシエーション過程が終了すると、第1のピア10が第2のピア20にリモートディスプレイサービスを提供するセッションを開始し、アプリケーションを実行する(S890)。
前記セッションを実行する過程(S890)は、従来のリモートディスプレイシステムを利用して行われる。先ず、ユーザの入力、即ち、コントロールがクライアントである第2のピア20からサーバである第1のピア10に転送されると(S891)、ディスプレイ情報を始めとするアプリケーションの出力値は、第1のピア10から第2のピア20に転送される(S892)。ステップS891及びS892のような過程は、クライアントである第2のピア20の要求によって数回繰り返されることもある。その後、第2のピア20では、アプリケーションの使用が終了すると、アプリケーションの実行結果として発生したファイル及びその他のログ情報をローカルに格納し(S893)、第1のピア10に終了命令を転送する(S894)。次に、前記終了命令を受信した第1のピア10は、セッションを終え、正常な実行過程を終了する(S895)。
図9は、図8でのセッションの実行後、サーバによりセッションが終了する過程を示すフローチャートである。もし、図8に示すように、接続されたピア間のネゴシエーションが終了した後(S880)、クライアント側でサービスの使用を終え、終了する過程でなく、サーバ側のサービス中断によって全ての過程が終了すると、一般的な場合とは少し異なる過程(S990)を行う。
即ち、ユーザの入力転送(S991)及びディスプレイ(S992)過程が繰り返される間に、サーバである第1のピア10のユーザによりサービスが中断される場合には、第1のピア10がサービスしているクライアント側ピア、即ち、第2のピア20にサービスの中断を知らせる終了命令を転送する(S993)。すると、メッセージを受信した第2のピア20は、データファイルとログ情報をローカルに格納し(S994)、アプリケーションの使用を安全に中断した後、第2のピア20に正しく終了したというOKメッセージを転送する(S995)。第1のピア10は、前記OKメッセージの確認により、第2のピア20での動作が安全に終了したことを確認し、セッションを終了する(S996)。
以上のように、上記実施の形態を参照して詳細に説明され図示されたが、本発明は、これに限定されるものでなく、このような本発明の基本的な技術的思想を逸脱しない範囲内で、当業界の通常の知識を有する者にとっては、他の多くの変更が可能であろう。また、本発明は、添付の特許請求の範囲により解釈されるべきであることは言うまでもない。
(a)は、従来のP2Pファイル共有システムのうち、Pure型を示す構成図であり、(b)は、従来のP2Pファイル共有システムのうち、Hybrid型を示す構成図である。 従来の「Grid computing」、「SETI@home」のシステム構成図である。 従来のJXTAソフトウェアのアーキテクチャーを示すブロック図である。 従来の「VNC」の動作構成を示す図である。 従来の「Gnutella」プロトコルの動作過程を示すフローチャートである。 本発明に係るP2P共有システムのサーバ構成図である。 本発明に係るP2P共有システムのクライアント構成図である。 本発明による方法の全体動作を示すフローチャートである。 図8でのセッション実行過程中、サーバにより終了する場合を示すフローチャートである。
符号の説明
610 アプリケーション
620 ミドルウェア
630 アプリケーション共有システムモジュール
631 GUIモジュール
632 登録モジュール
633 リソース点検モジュール
634 ディスクリプションモジュール
635 セッションモジュール
636 ネゴシエーションモジュール
637 接続モジュール
640 P2Pプロトコルスタック
650 リモートディスプレイシステム
660 オペレーティングシステム
711 GUIモジュール
712 検索モジュール
713 セッションモジュール
714 ネゴシエーションモジュール
715 接続モジュール
730 P2Pプロトコルスタック
740 リモートディスプレイシステム
750 オペレーティングシステム

Claims (18)

  1. サーバ機能を有する第1のピアが共有しようとするアプリケーションを登録するステップ1と、
    クライアント機能を有する第2のピアから受信したアプリケーション検索の命令に含まれる検索条件を前記登録されたアプリケーションファイルが満しているかどうかを判断し、前記判断結果によって前記第2のピアに前記ディスクリプションファイルを送信するステップ2と、
    前記検索条件を満たすアプリケーションに関するサービスを実行するために、前記第2のピアと所定のプロトコルで接続するステップ3と、
    前記アプリケーションに関するリモートディスプレイサービスを前記第2のピアに提供するセッションを実行するステップ4とを含むことを特徴とするP2Pプロトコルを用いてアプリケーションを共有する方法。
  2. 前記ステップ1は、共有しようとするアプリケーションの実行命令及び前記アプリケーションをサービスするときの基準となる政策を登録するステップをさらに含むことを特徴とする請求項1に記載のP2Pプロトコルを用いてアプリケーションを共有する方法。
  3. 前記政策は、観測されたリソースの統計値を基準として設定することを特徴とする請求項2に記載のP2Pプロトコルを用いてアプリケーションを共有する方法。
  4. 前記ステップ3の後に、前記第1のピアと前記第2のピアとの間で前記サービスに対する詳細な事項に対してネゴシエーションを行うステップをさらに含むことを特徴とする請求項1に記載のP2Pプロトコルを用いてアプリケーションを共有する方法。
  5. 前記ステップ4は、前記第2のピアが前記アプリケーションの実行のためのユーザの入力を前記第1のピアに転送すると、前記第1のピアは、前記リモートディスプレイシステムを利用して前記第2のピアに前記アプリケーションの実行による出力を送信するステップと、
    前記第1のピアの命令または前記第2のピアの命令によって前記セッションを終了するステップをさらに含むことを特徴とする請求項1に記載のP2Pプロトコルを用いてアプリケーションを共有する方法。
  6. 前記第1のピアの命令によって前記セッションを終了する場合に、前記セッションを終了するステップは、
    前記第2のピアにサービスの中断を知らせる終了命令を送信するステップと、
    前記第2のピアが正しく終了したという旨のメッセージを受信するステップと、
    前記受信したメッセージを確認し、前記セッションを終了するステップとを含むことを特徴とする請求項5に記載のP2Pプロトコルを用いてアプリケーションを共有する方法。
  7. クライアント機能を有するピア(a)のユーザがサービスを受けたいアプリケーションの検索条件を入力するステップ1と、
    前記検索条件を用いて検索メッセージを構成した上、隣接するピアに検索命令を送信するステップ2と、
    前記隣りのピアのうち、前記検索条件を満たすアプリケーションを登録しているピアから前記アプリケーションに関するディスクリプションファイルを受信するステップ3と、
    前記ディスクリプションファイルに基づいて、前記アプリケーションを登録しているピアの中から前記ピア(a)のユーザが選択したピア(b)と所定のプロトコルで接続するステップ4と、
    前記アプリケーションに関するリモートディスプレイサービスを前記ピア(b)から提供されるセッションを実行するステップ5とを含むことを特徴とするP2Pプロトコルを用いて共有されたアプリケーションを使用する方法。
  8. 前記ステップ4の後に、前記ピア(b)と前記サービスに対する詳細な事項についてネゴシエーションを行うステップをさらに含むことを特徴とする請求項7に記載のP2Pプロトコルを用いて共有されたアプリケーションを使用する方法。
  9. 前記ステップ4は、前記ピア(a)が前記アプリケーションの実行のためのユーザの入力を前記ピア(b)に送信し、前記リモートディスプレイシステムを利用して前記ピア(b)から前記アプリケーションの実行による出力を受信するステップと、
    前記ピア(a)の命令または前記ピア(b)の命令によって前記セッションを終了するステップとをさらに含むことを特徴とする請求項7に記載のP2Pプロトコルを用いて共有されたアプリケーションを使用する方法。
  10. 前記ピア(a)の命令によって前記セッションを終了する場合に、前記セッションを終了するステップは、
    前記アプリケーションの実行による出力の結果を含むファイルを格納するステップと、
    前記ピア(b)に前記セッションを終了するように要求する命令を送信するステップとをさらに含むことを特徴とする請求項9に記載のP2Pプロトコルを用いて共有されたアプリケーションを使用する方法。
  11. 前記ピア(b)の命令によって前記セッションを終了する場合に、前記セッションを終了するステップは、
    前記ピア(b)からサービスの中断を知らせる終了命令を受信するステップと、
    前記アプリケーションの実行による出力結果を含むファイルを格納するステップと、
    前記ピア(a)が正しく終了したという旨のメッセージを前記ピア(b)に送信するステップとをさらに含むことを特徴とする請求項9に記載のP2Pプロトコルを用いて共有されたアプリケーションを使用する方法。
  12. ユーザの入力によって共有しようとするアプリケーションを登録し、全体のアプリケーションまたは個別のアプリケーションに対するサービス政策を設定する登録モジュールと、
    サーバの遊休リソースを測定し、前記登録されたアプリケーションが平均的に使用するリソースの量を点検するリソース点検モジュールと、
    前記登録モジュール及び前記リソース点検モジュールに基づいて、現在サービス可能なアプリケーションについての情報と前記アプリケーションをサービスする環境についての情報とを含んだディスクリプションファイルを生成するディスクリプションモジュールと、
    クライアントにリモートディスプレイサービスを提供するセッションを維持したり、終了したりするセッションモジュールとを備えることを特徴とするP2Pプロトコルを用いてアプリケーションを共有するサーバ。
  13. サーバユーザが命令を入力できるようにグラフィックインタフェースを提供し、前記サーバユーザから命令を受信するGUIモジュールと、
    前記サービスをクライアントに提供するために、前記クライアントと所定のプロトコルで通信を行うことができるように接続する接続モジュールとをさらに備えることを特徴とする請求項12に記載のP2Pプロトコルを用いてアプリケーションを共有するサーバ。
  14. データ伝送品質、サービス政策、その他のサービスに関連した事項を前記クライアントと打ち合わせする役割を担うネゴシエーションモジュールをさらに備えることを特徴とする請求項12に記載のP2Pプロトコルを用いてアプリケーションを共有するサーバ。
  15. サービスを受けたいアプリケーションに対する検索条件をクライアントのユーザから受信し、検索条件を満たすアプリケーションを検索するための検索メッセージを作成し、これを隣接するピアに転送する検索モジュールと、
    前記隣接するピアのうち、前記検索条件を満たすアプリケーションを登録しているサーバから前記アプリケーションに関するリモートディスプレイサービスの提供を受けるセッションを維持したり、終了したりするセッションモジュールとを備えることを特徴とするP2Pプロトコルを用いて共有されたアプリケーションを使用するクライアント。
  16. 前記サーバから前記サービスの提供を受けるために、サーバとクライアントとの間で所定のプロトコルを介して通信を行うことができるように接続する接続モジュールと、
    クライアントユーザが命令を入力できるように、グラフィックインタフェースを提供し、前記サーバからリモートディスプレイサービスの提供を受け、前記アプリケーションの実行結果をユーザにディスプレイするGUIモジュールとをさらに含むことを特徴とする請求項15に記載のP2Pプロトコルを用いて共有されたアプリケーションを使用するクライアント。
  17. データ伝送品質、サービス政策、その他のサービスに関連した事項を前記サーバと打ち合わせする役割を担うネゴシエーションモジュールをさらに含むことを特徴とする請求項15に記載のP2Pプロトコルを用いて共有されたアプリケーションを使用するクライアント。
  18. 請求項1乃至請求項11の何れかに記載の方法を具現するためのプログラムが記録されたことを特徴とするコンピュータ読み取り可能な記録媒体。

JP2004335167A 2003-11-27 2004-11-18 P2pプロトコルを用いてアプリケーションを共有する方法及び装置 Pending JP2005158068A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030084953A KR100621092B1 (ko) 2003-11-27 2003-11-27 P2p 프로토콜을 이용하여 어플리케이션을 공유하는 방법및 장치

Publications (1)

Publication Number Publication Date
JP2005158068A true JP2005158068A (ja) 2005-06-16

Family

ID=34464758

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004335167A Pending JP2005158068A (ja) 2003-11-27 2004-11-18 P2pプロトコルを用いてアプリケーションを共有する方法及び装置

Country Status (5)

Country Link
US (1) US20050120073A1 (ja)
EP (1) EP1536612A1 (ja)
JP (1) JP2005158068A (ja)
KR (1) KR100621092B1 (ja)
CN (1) CN1622549A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008233991A (ja) * 2007-03-16 2008-10-02 Fujitsu Ltd 無線端末間貸借制御方法
JP2009527971A (ja) * 2006-02-24 2009-07-30 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ピアのネットワークでリソースを共有する装置及び方法
JP2013527951A (ja) * 2010-03-26 2013-07-04 クゥアルコム・インコーポレイテッド ネットワークリソースをリースすること
JP2014502764A (ja) * 2011-01-03 2014-02-03 サリバン,ジェイソン コンピュータシステムにおけるリソース及びインタラクティビティを提供するためのシステム及び方法
JP2015141659A (ja) * 2014-01-30 2015-08-03 キヤノン株式会社 情報処理端末、情報処理端末の制御方法およびプログラム
US9606577B2 (en) 2002-10-22 2017-03-28 Atd Ventures Llc Systems and methods for providing a dynamically modular processing unit
US9961788B2 (en) 2002-10-22 2018-05-01 Atd Ventures, Llc Non-peripherals processing control module having improved heat dissipating properties
US10285293B2 (en) 2002-10-22 2019-05-07 Atd Ventures, Llc Systems and methods for providing a robust computer processing unit

Families Citing this family (206)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8645137B2 (en) 2000-03-16 2014-02-04 Apple Inc. Fast, language-independent method for user authentication by voice
US7433546B2 (en) 2004-10-25 2008-10-07 Apple Inc. Image scaling arrangement
US8151259B2 (en) 2006-01-03 2012-04-03 Apple Inc. Remote content updates for portable media devices
US7831199B2 (en) 2006-01-03 2010-11-09 Apple Inc. Media data exchange, transfer or delivery for portable electronic devices
US7724716B2 (en) 2006-06-20 2010-05-25 Apple Inc. Wireless communication system
JP2005275937A (ja) * 2004-03-25 2005-10-06 Fujitsu Ltd P2pネットワークシステム
US8050272B2 (en) 2004-06-29 2011-11-01 Damaka, Inc. System and method for concurrent sessions in a peer-to-peer hybrid communications network
US7570636B2 (en) 2004-06-29 2009-08-04 Damaka, Inc. System and method for traversing a NAT device for peer-to-peer hybrid communications
US7933260B2 (en) 2004-06-29 2011-04-26 Damaka, Inc. System and method for routing and communicating in a heterogeneous network environment
US8437307B2 (en) 2007-09-03 2013-05-07 Damaka, Inc. Device and method for maintaining a communication session during a network transition
US8009586B2 (en) 2004-06-29 2011-08-30 Damaka, Inc. System and method for data transfer in a peer-to peer hybrid communication network
US8316088B2 (en) * 2004-07-06 2012-11-20 Nokia Corporation Peer-to-peer engine for object sharing in communication devices
US9077766B2 (en) 2004-07-09 2015-07-07 Qualcomm Incorporated System and method for combining memory resources for use on a personal network
US7937484B2 (en) 2004-07-09 2011-05-03 Orb Networks, Inc. System and method for remotely controlling network resources
US8738693B2 (en) 2004-07-09 2014-05-27 Qualcomm Incorporated System and method for managing distribution of media files
US8787164B2 (en) 2004-07-09 2014-07-22 Qualcomm Incorporated Media delivery system and method for transporting media to desired target devices
US8819140B2 (en) 2004-07-09 2014-08-26 Qualcomm Incorporated System and method for enabling the establishment and use of a personal network
US8195744B2 (en) * 2004-07-09 2012-06-05 Orb Networks, Inc. File sharing system for use with a network
US7706637B2 (en) 2004-10-25 2010-04-27 Apple Inc. Host configured for interoperation with coupled portable media player device
US7593782B2 (en) 2005-01-07 2009-09-22 Apple Inc. Highly portable media device
US7562125B2 (en) * 2005-02-02 2009-07-14 Cisco Technology, Inc. Techniques for locating distributed objects on a network based on physical communication costs
US8499023B1 (en) * 2005-03-23 2013-07-30 Oracle America, Inc. Servlet-based grid computing environment using grid engines and switches to manage resources
US8300841B2 (en) 2005-06-03 2012-10-30 Apple Inc. Techniques for presenting sound effects on a portable media player
EP1913755B1 (en) 2005-07-29 2011-11-02 Koninklijke Philips Electronics N.V. System and method for context dependent service discovery for mobile medical devices
US7590772B2 (en) 2005-08-22 2009-09-15 Apple Inc. Audio status information for a portable electronic device
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US7930369B2 (en) 2005-10-19 2011-04-19 Apple Inc. Remotely configured media device
US8654993B2 (en) 2005-12-07 2014-02-18 Apple Inc. Portable audio device providing automated control of audio volume parameters for hearing protection
US8171104B2 (en) * 2005-12-15 2012-05-01 International Business Machines Corporation Scheduling and searching meetings in a network environment
US8433753B2 (en) * 2005-12-15 2013-04-30 International Business Machines Corporation Providing meeting information from a meeting server to an email server to store in an email database
US20070143446A1 (en) * 2005-12-21 2007-06-21 Morris Robert P Methods, systems, and computer program products for installing an application from one peer to another including application configuration settings and data
US8255640B2 (en) 2006-01-03 2012-08-28 Apple Inc. Media device with intelligent cache utilization
US7673238B2 (en) 2006-01-05 2010-03-02 Apple Inc. Portable media device with video acceleration capabilities
US7848527B2 (en) 2006-02-27 2010-12-07 Apple Inc. Dynamic power management in a portable media delivery system
KR100774930B1 (ko) * 2006-05-17 2007-11-09 엘지전자 주식회사 이동통신단말기, 시스템 및 컨텐츠공유방법
EP1858226B1 (en) * 2006-05-19 2010-09-22 Microsoft Corporation Content management in peer-to-peer content distribution clouds
US7643895B2 (en) 2006-05-22 2010-01-05 Apple Inc. Portable media device with workout support
US9137309B2 (en) 2006-05-22 2015-09-15 Apple Inc. Calibration techniques for activity sensing devices
US20070271116A1 (en) 2006-05-22 2007-11-22 Apple Computer, Inc. Integrated media jukebox and physiologic data handling application
US8073984B2 (en) 2006-05-22 2011-12-06 Apple Inc. Communication protocol for use with portable electronic devices
US8358273B2 (en) 2006-05-23 2013-01-22 Apple Inc. Portable media device with power-managed display
US20070294626A1 (en) * 2006-06-15 2007-12-20 Microsoft Corporation Controlling application sharing
US8812638B2 (en) * 2006-07-12 2014-08-19 Telefonaktiebolaget Lm Ericsson (Publ) Method, apparatus and computer program product for controlling devices
WO2008012301A2 (de) * 2006-07-25 2008-01-31 Siemens Enterprise Communications Gmbh & Co. Kg Verfahren zum ausführen eines dienstes in einem dezentralen datennetz
US7913297B2 (en) 2006-08-30 2011-03-22 Apple Inc. Pairing of wireless devices using a wired medium
US7813715B2 (en) 2006-08-30 2010-10-12 Apple Inc. Automated pairing of wireless accessories with host devices
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8090130B2 (en) 2006-09-11 2012-01-03 Apple Inc. Highly portable media devices
US7729791B2 (en) 2006-09-11 2010-06-01 Apple Inc. Portable media playback device including user interface event passthrough to non-media-playback processing
US8341524B2 (en) 2006-09-11 2012-12-25 Apple Inc. Portable electronic device with local search capabilities
CN100488146C (zh) * 2006-09-14 2009-05-13 华为技术有限公司 在p2p网络中建立点对点连接的方法及在p2p网络中的节点
US9294608B2 (en) * 2007-02-20 2016-03-22 Microsoft Technology Licensing, Llc Contextual auto-replication in short range wireless networks
US7589629B2 (en) 2007-02-28 2009-09-15 Apple Inc. Event recorder for portable media device
US7698101B2 (en) 2007-03-07 2010-04-13 Apple Inc. Smart garment
US8135018B1 (en) 2007-03-29 2012-03-13 Qurio Holdings, Inc. Message propagation in a distributed virtual world
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US8000328B1 (en) 2007-05-22 2011-08-16 Qurio Holdings, Inc. Filtering messages in a distributed virtual world based on virtual space properties
US20090055157A1 (en) * 2007-08-23 2009-02-26 Beyond Blades Ltd. Server Having Remotely Manageable Emulated Functions
WO2009043016A2 (en) 2007-09-28 2009-04-02 Damaka, Inc. System and method for transitioning a communication session between networks that are not commonly controlled
US20090100137A1 (en) * 2007-10-11 2009-04-16 Motorola, Inc. Method and apparatus for providing services in a peer-to-peer communications network
US8380859B2 (en) * 2007-11-28 2013-02-19 Damaka, Inc. System and method for endpoint handoff in a hybrid peer-to-peer networking environment
US20090172082A1 (en) * 2007-12-31 2009-07-02 Joaquin Sufuentes Software as a service in a peer-to-peer environment
US9330720B2 (en) 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
US8266637B2 (en) * 2008-03-03 2012-09-11 Microsoft Corporation Privacy modes in a remote desktop environment
US8996376B2 (en) 2008-04-05 2015-03-31 Apple Inc. Intelligent text-to-speech conversion
US10496753B2 (en) 2010-01-18 2019-12-03 Apple Inc. Automatically adapting user interfaces for hands-free interaction
KR100969989B1 (ko) * 2008-06-02 2010-07-15 박상진 네트워크에서 응용프로그램 배포 방법 및 장치
US9058090B1 (en) 2008-06-02 2015-06-16 Qurio Holdings, Inc. Collaborative information sharing in a virtual world
US20100030549A1 (en) 2008-07-31 2010-02-04 Lee Michael M Mobile device having human language translation capability with positional feedback
WO2010067118A1 (en) 2008-12-11 2010-06-17 Novauris Technologies Limited Speech recognition involving a mobile device
US9858925B2 (en) 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US10241644B2 (en) 2011-06-03 2019-03-26 Apple Inc. Actionable reminder entries
US20120309363A1 (en) 2011-06-03 2012-12-06 Apple Inc. Triggering notifications associated with tasks items that represent tasks to perform
US9431006B2 (en) 2009-07-02 2016-08-30 Apple Inc. Methods and apparatuses for automatic speech recognition
US8341214B2 (en) * 2009-08-12 2012-12-25 Xerox Corporation System and method for communicating with a network of printers using a mobile device
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US10679605B2 (en) 2010-01-18 2020-06-09 Apple Inc. Hands-free list-reading by intelligent automated assistant
US10705794B2 (en) 2010-01-18 2020-07-07 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US10553209B2 (en) 2010-01-18 2020-02-04 Apple Inc. Systems and methods for hands-free notification summaries
DE202011111062U1 (de) 2010-01-25 2019-02-19 Newvaluexchange Ltd. Vorrichtung und System für eine Digitalkonversationsmanagementplattform
US8874785B2 (en) 2010-02-15 2014-10-28 Damaka, Inc. System and method for signaling and data tunneling in a peer-to-peer environment
US8892646B2 (en) 2010-08-25 2014-11-18 Damaka, Inc. System and method for shared session appearance in a hybrid peer-to-peer environment
US8725895B2 (en) 2010-02-15 2014-05-13 Damaka, Inc. NAT traversal by concurrently probing multiple candidates
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
US8689307B2 (en) 2010-03-19 2014-04-01 Damaka, Inc. System and method for providing a virtual peer-to-peer environment
US9043488B2 (en) 2010-03-29 2015-05-26 Damaka, Inc. System and method for session sweeping between devices
US9191416B2 (en) 2010-04-16 2015-11-17 Damaka, Inc. System and method for providing enterprise voice call continuity
US8352563B2 (en) 2010-04-29 2013-01-08 Damaka, Inc. System and method for peer-to-peer media routing using a third party instant messaging system for signaling
US8446900B2 (en) 2010-06-18 2013-05-21 Damaka, Inc. System and method for transferring a call between endpoints in a hybrid peer-to-peer network
US8611540B2 (en) 2010-06-23 2013-12-17 Damaka, Inc. System and method for secure messaging in a hybrid peer-to-peer network
US8468010B2 (en) 2010-09-24 2013-06-18 Damaka, Inc. System and method for language translation in a hybrid peer-to-peer environment
US8743781B2 (en) 2010-10-11 2014-06-03 Damaka, Inc. System and method for a reverse invitation in a hybrid peer-to-peer environment
US20120158819A1 (en) * 2010-12-21 2012-06-21 Microsoft Corporation Policy-based application delivery
US10762293B2 (en) 2010-12-22 2020-09-01 Apple Inc. Using parts-of-speech tagging and named entity recognition for spelling correction
KR101842256B1 (ko) 2011-02-01 2018-03-26 삼성전자주식회사 어플리케이션을 원격으로 실행하는 방법 및 장치
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US8407314B2 (en) 2011-04-04 2013-03-26 Damaka, Inc. System and method for sharing unsupported document types between communication devices
US8694587B2 (en) 2011-05-17 2014-04-08 Damaka, Inc. System and method for transferring a call bridge between communication devices
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
KR101319815B1 (ko) * 2011-06-22 2013-10-21 김강수 멀티 단말 장치 간 서버-클라이언트 서비스 환경을 지원하는 앱 구동 방법
US8478890B2 (en) 2011-07-15 2013-07-02 Damaka, Inc. System and method for reliable virtual bi-directional data stream communications with single socket point-to-multipoint capability
US8994660B2 (en) 2011-08-29 2015-03-31 Apple Inc. Text correction processing
US10134385B2 (en) 2012-03-02 2018-11-20 Apple Inc. Systems and methods for name pronunciation
US9483461B2 (en) 2012-03-06 2016-11-01 Apple Inc. Handling speech synthesis of content for multiple languages
US9280610B2 (en) 2012-05-14 2016-03-08 Apple Inc. Crowd sourcing information to fulfill user requests
US9721563B2 (en) 2012-06-08 2017-08-01 Apple Inc. Name recognition system
US9495129B2 (en) 2012-06-29 2016-11-15 Apple Inc. Device, method, and user interface for voice-activated navigation and browsing of a document
US9576574B2 (en) 2012-09-10 2017-02-21 Apple Inc. Context-sensitive handling of interruptions by intelligent digital assistant
US9547647B2 (en) 2012-09-19 2017-01-17 Apple Inc. Voice-based media searching
US9936335B2 (en) 2012-12-13 2018-04-03 Microsoft Technology Licensing, Llc Mobile computing device application sharing
CN103902499A (zh) * 2012-12-25 2014-07-02 联想(北京)有限公司 一种处理方法及一种电子设备
DE212014000045U1 (de) 2013-02-07 2015-09-24 Apple Inc. Sprach-Trigger für einen digitalen Assistenten
US9368114B2 (en) 2013-03-14 2016-06-14 Apple Inc. Context-sensitive handling of interruptions
CN105027197B (zh) 2013-03-15 2018-12-14 苹果公司 训练至少部分语音命令系统
WO2014144579A1 (en) 2013-03-15 2014-09-18 Apple Inc. System and method for updating an adaptive speech recognition model
WO2014197336A1 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
WO2014197334A2 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
US9582608B2 (en) 2013-06-07 2017-02-28 Apple Inc. Unified ranking with entropy-weighted information for phrase-based semantic auto-completion
WO2014197335A1 (en) 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
AU2014278592B2 (en) 2013-06-09 2017-09-07 Apple Inc. Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant
EP3008964B1 (en) 2013-06-13 2019-09-25 Apple Inc. System and method for emergency calls initiated by voice command
US9027032B2 (en) 2013-07-16 2015-05-05 Damaka, Inc. System and method for providing additional functionality to existing software in an integrated manner
WO2015020942A1 (en) 2013-08-06 2015-02-12 Apple Inc. Auto-activating smart responses based on activities from remote devices
US9357016B2 (en) 2013-10-18 2016-05-31 Damaka, Inc. System and method for virtual parallel resource management
US9620105B2 (en) 2014-05-15 2017-04-11 Apple Inc. Analyzing audio input for efficient speech and music recognition
US10592095B2 (en) 2014-05-23 2020-03-17 Apple Inc. Instantaneous speaking of content on touch devices
US9502031B2 (en) 2014-05-27 2016-11-22 Apple Inc. Method for supporting dynamic grammars in WFST-based ASR
US10078631B2 (en) 2014-05-30 2018-09-18 Apple Inc. Entropy-guided text prediction using combined word and character n-gram language models
AU2015266863B2 (en) 2014-05-30 2018-03-15 Apple Inc. Multi-command single utterance input method
US9785630B2 (en) 2014-05-30 2017-10-10 Apple Inc. Text prediction using combined word N-gram and unigram language models
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US9842101B2 (en) 2014-05-30 2017-12-12 Apple Inc. Predictive conversion of language input
US9760559B2 (en) 2014-05-30 2017-09-12 Apple Inc. Predictive text input
US9734193B2 (en) 2014-05-30 2017-08-15 Apple Inc. Determining domain salience ranking from ambiguous words in natural speech
US10289433B2 (en) 2014-05-30 2019-05-14 Apple Inc. Domain specific language for encoding assistant dialog
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US10659851B2 (en) 2014-06-30 2020-05-19 Apple Inc. Real-time digital assistant knowledge updates
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US11283866B2 (en) 2014-07-07 2022-03-22 Citrix Systems, Inc. Providing remote access to applications through interface hooks
US11310312B2 (en) 2014-07-07 2022-04-19 Citrix Systems, Inc. Peer to peer remote application discovery
CA2956617A1 (en) 2014-08-05 2016-02-11 Damaka, Inc. System and method for providing unified communications and collaboration (ucc) connectivity between incompatible systems
US10446141B2 (en) 2014-08-28 2019-10-15 Apple Inc. Automatic speech recognition based on user feedback
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US10789041B2 (en) 2014-09-12 2020-09-29 Apple Inc. Dynamic thresholds for always listening speech trigger
US9646609B2 (en) 2014-09-30 2017-05-09 Apple Inc. Caching apparatus for serving phonetic pronunciations
US9886432B2 (en) 2014-09-30 2018-02-06 Apple Inc. Parsimonious handling of word inflection via categorical stem + suffix N-gram language models
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US10003659B2 (en) * 2014-10-31 2018-06-19 Qualcomm Incorporated Efficient group communications leveraging LTE-D discovery for application layer contextual communication
US10552013B2 (en) 2014-12-02 2020-02-04 Apple Inc. Data detection
US9711141B2 (en) 2014-12-09 2017-07-18 Apple Inc. Disambiguating heteronyms in speech synthesis
US9865280B2 (en) 2015-03-06 2018-01-09 Apple Inc. Structured dictation using intelligent automated assistants
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US9899019B2 (en) 2015-03-18 2018-02-20 Apple Inc. Systems and methods for structured stem and suffix language models
US9842105B2 (en) 2015-04-16 2017-12-12 Apple Inc. Parsimonious continuous-space phrase representations for natural language processing
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US10127220B2 (en) 2015-06-04 2018-11-13 Apple Inc. Language identification from short strings
US10101822B2 (en) 2015-06-05 2018-10-16 Apple Inc. Language input correction
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US10255907B2 (en) 2015-06-07 2019-04-09 Apple Inc. Automatic accent detection using acoustic models
US10186254B2 (en) 2015-06-07 2019-01-22 Apple Inc. Context-based endpoint detection
US11025565B2 (en) 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US9697820B2 (en) 2015-09-24 2017-07-04 Apple Inc. Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks
US10366158B2 (en) 2015-09-29 2019-07-30 Apple Inc. Efficient word encoding for recurrent neural network language models
US11010550B2 (en) 2015-09-29 2021-05-18 Apple Inc. Unified language modeling framework for word prediction, auto-completion and auto-correction
US11587559B2 (en) 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10446143B2 (en) 2016-03-14 2019-10-15 Apple Inc. Identification of voice inputs providing credentials
US10091025B2 (en) 2016-03-31 2018-10-02 Damaka, Inc. System and method for enabling use of a single user identifier across incompatible networks for UCC functionality
US9934775B2 (en) 2016-05-26 2018-04-03 Apple Inc. Unit-selection text-to-speech synthesis based on predicted concatenation parameters
US9972304B2 (en) 2016-06-03 2018-05-15 Apple Inc. Privacy preserving distributed evaluation framework for embedded personalized systems
US10249300B2 (en) 2016-06-06 2019-04-02 Apple Inc. Intelligent list reading
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
DK179309B1 (en) 2016-06-09 2018-04-23 Apple Inc Intelligent automated assistant in a home environment
US10067938B2 (en) 2016-06-10 2018-09-04 Apple Inc. Multilingual word prediction
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
US10490187B2 (en) 2016-06-10 2019-11-26 Apple Inc. Digital assistant providing automated status report
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US10509862B2 (en) 2016-06-10 2019-12-17 Apple Inc. Dynamic phrase expansion of language input
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
DK179049B1 (en) 2016-06-11 2017-09-18 Apple Inc Data driven natural language event detection and classification
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179343B1 (en) 2016-06-11 2018-05-14 Apple Inc Intelligent task discovery
US20180018445A1 (en) * 2016-07-13 2018-01-18 International Business Machines Corporation Social Sharing of Software Products
US10043516B2 (en) 2016-09-23 2018-08-07 Apple Inc. Intelligent automated assistant
US9763047B1 (en) 2016-09-28 2017-09-12 International Business Machines Corporation Anonymizing location data
US10593346B2 (en) 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
DK201770439A1 (en) 2017-05-11 2018-12-13 Apple Inc. Offline personal assistant
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK201770432A1 (en) 2017-05-15 2018-12-21 Apple Inc. Hierarchical belief states for digital assistants
DK201770431A1 (en) 2017-05-15 2018-12-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
DK179560B1 (en) 2017-05-16 2019-02-18 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
WO2019046021A1 (en) * 2017-08-30 2019-03-07 Raytheon Company AUTHENTICATION OF MESH NETWORK PAIR TO MOBILE PAIR WITH AUTO-ORGANIZATION
US11184420B2 (en) * 2020-01-06 2021-11-23 Tencent America LLC Methods and apparatuses for dynamic adaptive streaming over HTTP

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5729682A (en) * 1995-06-07 1998-03-17 International Business Machines Corporation System for prompting parameters required by a network application and using data structure to establish connections between local computer, application and resources required by application
US5761421A (en) * 1996-03-25 1998-06-02 Sun Microsystems, Inc. System and method for secure peer-to-peer communication between downloaded programs
US6144992A (en) * 1997-05-09 2000-11-07 Altiris, Inc. Method and system for client/server and peer-to-peer disk imaging
US6094676A (en) * 1997-05-30 2000-07-25 Hilgraeve Incorporated Method and apparatus for peer-to-peer communication
US7721110B2 (en) * 2001-04-06 2010-05-18 Mcafee, Inc. System and method for secure and verified sharing of resources in a peer-to-peer network environment
US7509372B2 (en) * 2001-09-13 2009-03-24 International Business Machines Corporation Method and system for redirecting data requests in peer-to-peer data networks
JP4446368B2 (ja) * 2001-09-14 2010-04-07 富士通株式会社 コラボレーション方法、システム、プログラム及び記録媒体
US7536182B2 (en) * 2001-09-18 2009-05-19 Nec Corporation Method and system for extending the capabilities of handheld devices using local resources
KR20030026708A (ko) * 2001-09-26 2003-04-03 (주)네오클릭 P2p(피어투피어) 기반의 cpu 공유 분산 컴퓨팅
US7299304B2 (en) * 2001-11-20 2007-11-20 Intel Corporation Method and architecture to support interaction between a host computer and remote devices
KR100803589B1 (ko) * 2002-02-06 2008-02-19 삼성전자주식회사 P2p를 이용한 자원 공유 서비스 제공 및 그 이용방법
US8001187B2 (en) * 2003-07-01 2011-08-16 Apple Inc. Peer-to-peer active content sharing

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9606577B2 (en) 2002-10-22 2017-03-28 Atd Ventures Llc Systems and methods for providing a dynamically modular processing unit
US9961788B2 (en) 2002-10-22 2018-05-01 Atd Ventures, Llc Non-peripherals processing control module having improved heat dissipating properties
US10285293B2 (en) 2002-10-22 2019-05-07 Atd Ventures, Llc Systems and methods for providing a robust computer processing unit
US10849245B2 (en) 2002-10-22 2020-11-24 Atd Ventures, Llc Systems and methods for providing a robust computer processing unit
US11751350B2 (en) 2002-10-22 2023-09-05 Atd Ventures, Llc Systems and methods for providing a robust computer processing unit
JP2009527971A (ja) * 2006-02-24 2009-07-30 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ピアのネットワークでリソースを共有する装置及び方法
JP2008233991A (ja) * 2007-03-16 2008-10-02 Fujitsu Ltd 無線端末間貸借制御方法
JP2013527951A (ja) * 2010-03-26 2013-07-04 クゥアルコム・インコーポレイテッド ネットワークリソースをリースすること
JP2015053686A (ja) * 2010-03-26 2015-03-19 クゥアルコム・インコーポレイテッドQualcomm Incorporated ネットワークリソースをリースすること
JP2014502764A (ja) * 2011-01-03 2014-02-03 サリバン,ジェイソン コンピュータシステムにおけるリソース及びインタラクティビティを提供するためのシステム及び方法
JP2015141659A (ja) * 2014-01-30 2015-08-03 キヤノン株式会社 情報処理端末、情報処理端末の制御方法およびプログラム

Also Published As

Publication number Publication date
KR100621092B1 (ko) 2006-09-08
KR20050051200A (ko) 2005-06-01
CN1622549A (zh) 2005-06-01
EP1536612A1 (en) 2005-06-01
US20050120073A1 (en) 2005-06-02

Similar Documents

Publication Publication Date Title
JP2005158068A (ja) P2pプロトコルを用いてアプリケーションを共有する方法及び装置
JP3944168B2 (ja) ネットワーク環境におけるピアツーピア通信のための方法およびシステム
US8219614B2 (en) Edge peer device, pan gateway device, super peer device, and P2P network-based interconnection method
JP3851275B2 (ja) 分散コンピュータ・ネットワークのスケーラブルなリソース・ディスカバリおよび再構成
US10547693B2 (en) Security device capability discovery and device selection
US7797375B2 (en) System and method for responding to resource requests in distributed computer networks
US7490140B2 (en) Peer data transfer orchestration
US7574523B2 (en) Relay peers for extending peer availability in a peer-to-peer networking environment
US7085805B1 (en) Remote device management in grouped server environment
JP5863942B2 (ja) ウィットネスサービスの提供
US20070060373A1 (en) Data communication system and methods
JP2013524632A (ja) ネットワークノード間のネットワーク通信の管理及びストリームトランスポートプロトコル
US20100223320A1 (en) Data distribution efficiency for online collaborative computing sessions
JP2023508061A (ja) アカウントアクセス方法及びその装置、記憶媒体、並びに電子機器
CN109621430A (zh) 游戏服务端系统、游戏控制方法、装置、介质及电子设备
CN118511499A (zh) 互联网代理系统
US20150358428A1 (en) Information processing system, information processing method, information processing apparatus, and control methods and control programs thereof
Vashishth et al. Addressing challenges in browser based P2P content sharing framework using WebRTC
CN112491935A (zh) 一种用于区块链的水波式广播方法及系统
US20150100624A1 (en) Method and system for supporting vnc/rfb protocol tranversal through firewalls without the need to configure open ports
Haque et al. An architecture for client virtualization: A case study
Verma et al. SRIRAM: A scalable resilient autonomic mesh
US11863592B2 (en) Active speaker tracking using a global naming scheme
WO2015122194A1 (ja) リアルタイム通信システム、リアルタイム通信装置、リアルタイム通信方法および記録媒体
CN103595811A (zh) 管理电子信息的方法、相关用户终端和相关信息源

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070409

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070508

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070806

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070911