JP2008527468A - ハイブリッド・ローカル/リモート・ストリーミング - Google Patents
ハイブリッド・ローカル/リモート・ストリーミング Download PDFInfo
- Publication number
- JP2008527468A JP2008527468A JP2007541374A JP2007541374A JP2008527468A JP 2008527468 A JP2008527468 A JP 2008527468A JP 2007541374 A JP2007541374 A JP 2007541374A JP 2007541374 A JP2007541374 A JP 2007541374A JP 2008527468 A JP2008527468 A JP 2008527468A
- Authority
- JP
- Japan
- Prior art keywords
- streaming
- application
- software
- stream
- content
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- A63F13/10—
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/45—Controlling the progress of the video game
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/90—Constructional details or arrangements of video game devices not provided for in groups A63F13/20 or A63F13/25, e.g. housing, wiring, connections or cabinets
- A63F13/95—Storage media specially adapted for storing game information, e.g. video game cartridges
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/764—Media network packet handling at the destination
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/75—Indicating network or usage conditions on the user display
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/254—Management at additional data server, e.g. shopping server, rights management server
- H04N21/2541—Rights Management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/426—Internal components of the client ; Characteristics thereof
- H04N21/42646—Internal components of the client ; Characteristics thereof for reading from or writing on a non-volatile solid state storage medium, e.g. DVD, CD-ROM
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/432—Content retrieval operation from a local storage medium, e.g. hard-disk
- H04N21/4325—Content retrieval operation from a local storage medium, e.g. hard-disk by playing back content from the storage medium
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/631—Multimode Transmission, e.g. transmitting basic layers and enhancement layers of the content over different transmission paths or transmitting with different error corrections, different keys or with different transmission protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
- H04N21/6581—Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8166—Monomedia components thereof involving executable data, e.g. software
- H04N21/8193—Monomedia components thereof involving executable data, e.g. software dedicated tools, e.g. video decoder software or IPMP tool
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/835—Generation of protective data, e.g. certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/173—Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
- H04N7/17309—Transmission or handling of upstream communications
- H04N7/17318—Direct or substantially direct transmission and handling of requests
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/20—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform
- A63F2300/206—Game information storage, e.g. cartridges, CD ROM's, DVD's, smart cards
- A63F2300/207—Game information storage, e.g. cartridges, CD ROM's, DVD's, smart cards for accessing game resources from local storage, e.g. streaming content from DVD
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/6009—Methods for processing data by generating or executing the game program for importing or creating game content, e.g. authoring tools during game development, adapting content to different platforms, use of a scripting language to create content
Abstract
ローカル・デバイスおよびリモート・デバイスからストリーミングする技術は、ストリーミング・アプリケーションに関連するデータの部分集合(subset)をローカル・デバイスに提供することを含む。本技術による方法の一例は、ストリーミング・ソフトウェア・プレーヤーを起動させること、ソフトウェア・アプリケーションをストリームするのに必要なローカル・ストレージ・デバイスからのデータにアクセスすること、そして、ストリーミング・ソフトウェア・プレーヤーを使用して、ソフトウェア・アプリケーションをストリームするのに必要なリモート・ロケーションからのデータにアクセスすることを含む。本技術によるシステムの一例は、限定的でない例として、ストリーミング・アプリケーションに関連するコンテンツの第1の部分集合をストリーミング・サーバからストリーミングする手段、ストリーミング・アプリケーションに関連するコンテンツの第2の部分集合をローカル・ソースからストリーミングする手段、および、ストリーミング・サーバに定期的に問合せする手段であって、定期的な問合せが、ストリーミング・アプリケーションが起動していることをストリーミング・サーバに通知するようになっている手段を含むようにしてもよい。
【選択図】図1
【選択図】図1
Description
ソフトウェア・ストリーミングは、ストリーミングされるプログラムに必要な断片としてのファイルの小片をダウンロードすることを含む。これらの小片は、ブロックと呼ばれる。ストリーミング・クライアントは、要求されたブロックに関連するストリーミング・データを返信するストリーミング・サーバに、必要なブロックの要求を送信する。要求の送信やストリーミング・データの受信がストリームされたプログラムを低速にし得る遅延を引き起こす。
ストリームされたアプリケーションの利点は、ユーザがプログラムを実行するのに必要であるものをダウンロードするだけでよい点である。ストリームされたアプリケーションを提供するプロバイダーは、例えば、ハード・ディスクにインストールされるプログラムを提供するプロバイダーよりも、ストリームされたアプリケーションを完全に制御する。例えば、ストリームされたアプリケーションを提供するプロバイダーは、そのアプリケーションの時間単位の使用料を請求する。代わりに、ストリームされたアプリケーションを提供するプロバイダーは、ローカル・ディスクが、アクセスされないであろうコードで無駄にいっぱいになることを防ぐ。
ストリーミングには確かな利点があるが、否定したり、対処したり、少なくするのに有利なストリーミング・ソフトウェアに関連する多くの問題点もある。例えば、プログラムのストリーミングを早く実行することは、継続する問題である。また、他の例として、ストリームされたプログラムに対して、インストールに関連する類似した経験をユーザに提供することが望ましい。また、他の例として、コンソール上にストリームされたプログラムを提供することが望ましい。
さらに、ストリームされたアプリケーションを提供するプロバイダーは、著作権保護を試みることを望む。これは難しい場合がある。なぜなら、ストリームされたアプリケーションが特定のパソコンにダウロードされると、その使用者はストリームされたアプリケーションの全ての部分にアクセスができ、ストリームの必要性が排除され、著作権侵害のリスクが増加するからである。したがって、いくつかの問題に対する追加の課題は、ユーザが局部的に与えられたプログラムの全てにアクセスできることを防ぐことである。
本発明の実施形態は図の中で例示される。しかしながら、実施形態および図は例示であって、本発明は、これらに限定されるものではない。
ローカル・デバイスやリモート・デバイスからストリーミングする技術は、ストリーミング・アプリケーションに関連するデータの部分集合(subset)をローカル・デバイスに提供することを含む。限定的でない例として、データの第1の部分集合が消費者にリムーバブル・ストレージ・デバイスで提供されるようにしてもよい。本技術による方法の一例は、ストリーミング・ソフトウェア・プレーヤーを起動させること、ソフトウェア・アプリケーションをストリームするのに必要なローカル・ストレージ・デバイスからのデータにアクセスすること、ソフトウェア・アプリケーションをストリームするのに必要なローカル・キャッシュからのデータにアクセスすること、そして、ストリーミング・ソフトウェア・プレーヤーを使用して、ソフトウェア・アプリケーションをストリームするのに必要なリモート・ロケーションからのデータにアクセスすることを含む。限定的でない実施形態において、本方法は、ソフトウェア・アプリケーションをストリームするための要求を送信することを含むようにしてもよい。そして、ソフトウェア・アプリケーションは、ローカル・ストレージ・デバイスと、例えば、ストリーミング・サーバのような離れた場所の両方からストリームされるようにしてもよい。
本技術による方法の他の例は、ストリーミング・サーバで、ストリーミング・アプリケーションに関連する第1のコンテンツを維持すること、ストリーミング・アプリケーションをストリームするための要求を受信すること、そして、要求に応じてトークン・ファイルを提供することを含む。トークン・ファイルは、限定的でない例として、ストリーミング・サーバに関連するアドレス、適切にストリーミング・アプリケーションをストリーミングするのに必要である第1のコンテンツをストリーミング・サーバから受信するための指示、および、適切にストリーミング・アプリケーションをストリーミングするのに必要である第2のコンテンツをローカル・ストリーミング・ソースから受信するための指示を含むようにしてもよい。限定的でない実施形態において、本方法は、ストリーミング・アプリケーションに関連するコンテンツを第1のコンテンツと第2のコンテンツとに分割することを含むようにしてもよい。
本技術によるシステムの一例は、限定的でない例として、ストリーミング・アプリケーションに関連するコンテンツの第1の部分集合をストリーミング・サーバからストリーミングする手段や、ストリーミング・アプリケーションに関連するコンテンツの第2の部分集合をローカル・ソースからストリーミングする手段や、ストリーミング・サーバに定期的に問合せをする手段であって、定期的な問合せが、ストリーミング・アプリケーションが起動していることをストリーミング・サーバに通知するようになっている手段を含むようにしてもよい。
ソフトウェア・タイトルの「ストリーミング・インストール」に関連する技術は、ソフトウェアのインストールや環境の構成といった、ソフトウェアを動かすのに通常必要であるステップの多くを減少させることを含む。そのタイトルをストリーミングすることは、始動の後にインストールされたソフトウェア・タイトルによく似るユーザ経験を提供する。
本技術のある面の利点は、ユーザが、典型的な非ストリーミング・ソフトウェア・タイトルのインストールよりさらに速くて簡単な始動を経験することができる点である。別の利点は、例えば、コンピュータ・ゲームではコンソール・ゲームとして、迅速で簡単にプレーすることができる点である。ストリーミング・アプリケーションにおける性能測定基準は、ストリームされたアプリケーションが実際に従来通り(すなわち、ストリームされない)にインストールされた同じタイトルと同様に機能するかどうかである。いくつかの場合、ストリームされたタイトルは、従来通りにインストールされたタイトルよりもよく機能しさえする。
ユーザの中には、ハード・ディスクへのインストールが、ストリーミング・ソフトウェア・タイトルの性能を向上させることができると信じている人もいる。CDやDVDが、ある一定のポイントでスピンダウンして、再びスピンアップする遅れを被るかもしれないので、これは本当であるかもしれない。従って、一実施形態において、ストリーミング・アプリケーションは、ハード・ディスクにインストールされる。ハード・ディスクへのストリーミング・アプリケーションのインストールが、非ストリーミング・アプリケーションのインストールと同じでないのに注目すべきである。ストリーミング・アプリケーションはインストールの後にまだストリームされている。例えば、CDやDVDの代わりにハード・ディスクから単にストリームされる。
複数のディスクからストリーミングがサポートされることが望ましいので、ディスクを交換しなければならないという問題を減少させるために、完全なインストールを使用することができる。いくつかの場合、マクロビジョン・セイフディスク・キー(Macrovision SafeDisc key)などのように、単一のCDやDVDがキーとして利用可能であることを必要とすることが望ましい。
同様に、ストリームされたアプリケーションは、マクロビジョン・セイフディスクをセキュリティに利用するアプリケーションをサポートするようにしてもよい。例えば、CDキーはスタートアップ時にマクロビジョン・セイフディスク・キー(Macrovision・SDK)の特徴を使用して、ソフトウェア・タイトルの使用を通じて定期的に確認されるようにしてもよい。マクロビジョン・セイフディスク・キーは各CDの上にあるようにしてもよい。
ユーザの中には、ソフトウェア・タイトルに関連するアセットやファイルへのアクセスを必要とするソフトウェア・タイトルを変更すること(モッド)を望む人もいるかもしれない。従って、ユーザに技術(モデル、テキスチャ、音、レベル・ファイルなど)などのようなソフトウェア・タイトルを提供する元のアセットへのアクセスが提供されるかもしれない。これらは、局所的に、変更、コピー、または挿入されて開くことができる。同様に、ユーザは、ネットワークからモッドをダウンロードして、モッドをソフトウェア・タイトルと統合することができる。
また、ユーザとソフトウェア・タイトル・プロバイダーは、ソフトウェア・パッチがさらに望ましいことが通常わかる。ストリームされたアプリケーションは、ユーザに最新のパッチをダウンロードする方法を提供する。
産業上のほとんどのソフトウェア・タイトルでは一般的であるように、CDやDVDのストリーミング・タイトルを提供するとき、製品登録を望むかもしれない。
圧縮の技術は、ストリームされたデータ・ファイルとして提供されるメディアを完全に利用するために応用される。例えば、ストリーミング・バッファの中へのデータのパッケージングは、Zipスタイル圧縮と同じくらいコンパクトであるかもしれない。
図1は、ソフトウェア・タイトルをストリーミングする典型的なプロセス、およびソフトウェア・タイトルに関連する他の動きのフローチャートを示す。限定的でない実施形態において、モジュール102では、図2Aで示すように、ユーザはコンピュータにCDを挿入する。限定的でない実施形態において、コンピュータにCDを入れるとコンピュータのオペレーティング・システム(例えば、Windows2000)でAutorun.infファイルが処理される。Autorun.infファイルは、「スタッブ」プログラムを参照し、実行する。モジュール104では、スタッブ・プログラムは初期のオプションをユーザに提供する。
スタッブ・プログラムは、製品登録や、ストリーミング・プレーヤー(例えば、ストリーム・ウィーバー)の検出、ストリーミング・プレーヤーのインストールといった様々なメニュー・オプションなどのような特徴をユーザに提供する。製品登録には、ユーザのコンピュータの永続的なメモリをチェックして、CD登録キーの入力がされたかどうか決定するのを伴うかもしれない。一つの実施形態において、製品が登録されていない場合(典型的には、タイトルがはじめてストリーミングされる時)、図2Bの中で例示されるように、登録プログラムは適切な登録情報のためにユーザを促す。
一つの実施形態において、スタッブ・プログラムは、CD登録キーと製品登録を入力するための画面を表示する。スタッブ・プログラムは、永続的なメモリにCD登録キーと製品登録に関する情報を保存する。ネットワーク(例えば、インターネット)上で登録情報をソフトウェア・タイトルのベンダーや作者に送る。ネットワーク接続が利用できないなら、登録は、ソフトウェア登録業界でよく理解されている他の方法で行われる。
もし、ユーザが登録手続をスキップするなら、この事実は、永続的なメモリに保存され、後でもう一度登録するようにユーザに問うかどうかを決めるときに使用される。もし、すでに登録を断っているなら、永続的なメモリにこの事実が保存され、そして、予定された期間が経過したかどうかチェックされる。もし、期間が経過したなら、再び登録する機会がユーザに与えられる。
別の実施形態において、もし、CDが以前に登録されたなら、スタッブ・プログラムは、登録を省き、図2Dに示すようなスプラッシュ・スクリーンに直接移る。
前記のように、スタッブ・プログラムは、図2Cで示すように、ストリーミング・プレーヤーの検出や、ストリーミング・プレーヤーのインストールなどの特徴を提供する。これらの特徴は、そのインストールや、もしインストールされているなら、関連するキーの値がないかどうか登録をチェックすることによって、ストリーミング・プレーヤーのバージョンのチェックを含むようにしてもよい。例えば、その登録は、キーの値が“HKEY_LOCAL_MACHINE/SOFTWARE/Stream Theory/Stream Theory Player/Install Path"を含む。キーが存在する場合、それはストリーム・セオリー・プレーヤーがインストールされることを意味し、インストールの位置を識別するべきである。インストールされたプレーヤーのバージョンは、キーの中で指定されたファイル、典型的には4.0.0.20のキーの値を備えた「C:/Program Files/Stream Theory/stfsd.sys」のバージョンのチェックにより決定されるかもしれない。もしプレーヤーが見つかれば、プレーヤーのバージョンは、要求される最小のプレーヤーと比較されるに違いない。プレーヤーが全くインストールされないか、またはバージョンが必要なソフトウェア・タイトルをサポートするのに不十分であるなら、CDやウェブ・サイトのようなリモート・ロケーションから、インストールできるプレーヤーが提供される。新しいプレーヤーのインストールは再起動を必要とする。
モジュール106(図1)における、限定的でない実施形態において、スタッブ・プログラムは、図2Dで示すように、「スプラッシュ・スクリーン」で様々なオプションをさらにユーザに提供する。そのオプションは、オートプレイ・オプション108(図1)や、ハード・ドライブにインストールするオプション110(図1)や、ファイル・エディタ・オプション112(図1)や、アップグレード・オプション114(図1)を含む。追加オプション(図示しない)は、ソフトウェア・タイトルの業者のウェブ・サイトや作者のウェブ・サイトなど、または終了のためのオプションを含む。
もし、ユーザがオートプレイ・オプションをクリックするなら、図2Eで示すように、モジュール116(図1)でストリーミング・アプリケーションを受け取り始める機会をすぐにユーザに与える。例えば、ゲーム・シェルは、図2Fで示すように、ゲームをロードすることや、新しいゲームをすること、オプションの設定をすることの能力をユーザに与えることを始める。動作は、従来通りにインストールされたソフトウェア・アプリケーションのものと同様であり、必ずしもゲームに制限があるというわけではない。
図2Gで示すように、モジュール118(図1)では、ソフトウェア・タイトルは、CD(または、以前に完全にインストールされているならハード・ドライブ)からデータをストリームする。さらに、マクロビジョン・セイフディスクは、必要に応じて、キー、あるいは、他のデータをチェックするのに使用される。オプションのモジュール120(図1)では、実行可能ファイルは、マクロビジョン・セイフディスクをチェックする。ファイル・システムは、必要なファイルがどのディスクにあるかを特定することができるくらい知的でなければならず、モジュール122(図1)で必要ならば、ディスクを交換するようにユーザに促す。もし、ハード・ドライブにインストールされるなら、ファイル・システムが別のCDを要求するときに、ユーザは、例えば、先へ進むためにキー・シーケンスを入力するかもしれない。この例では、キー・シーケンスは、まるで別のディスクが挿入されたかのように、ゲームを続かせるドライバによって遮断される。また、他の技術は、マルチディスクの機能性を提供するのに使用される。
モジュール124(図1)で、ユーザが、図2Hで示すように、ハード・ドライブにインストールするオプションをクリックするなら、ユーザは、ストリーミング・アプリケーションを(通常)ローカル・ハード・ドライブにインストールする機会を与えられる。インストールされたストリーミング・アプリケーションを扱うことにかかわる技術と、複数のCDから起動するストリーミング・アプリケーションを扱うことにかかわる技術は、よく似ている。それぞれのCDは、ストリーム・ファイルに相当する。特定のCDのためのアプリケーション・プロンプトであるときに、これは、現在アクティブなストリーム・ファイルの範囲の外でのブロックを求める要求によって検出される。ストリーミング・プレーヤーは、CDを変えるという要求の遮断と検出をしなければならない。
ストリーミング・タイトルをハード・ドライブにインストールするとき、システムは、通常、十分なディスク・スペースをチェックし、もしスペースが十分であるなら、図2Iに示すように、ストリーミング・ファイルのすべてをハード・ドライブにコピーする。さらに、ショートカットは、任意のモジュール126(図1)で作成される。ウィンドウ登録設定は、調整され、ショートカットへの取り外しコードは、「Add and Remove」というプログラムに追加される。特定の要求でCDをロードするためのユーザのプロンプトを入力することが必要である。ストリーミング・タイトルが一旦ハード・ドライブにインストールされると、ユーザは、例えば、図2Jで示すように、ストリーミング・プレーヤーを起動して、ストリーミング・アプリケーションを実行するためのショートカットを選択する。「Play Now」が選択される時、ハード・ドライブ上のキャッシュをモジュール128(図1)で示されるように、使用することができる。
モジュール112(図1)で、図2Kで示すように、ユーザがファイル・エディタ・オプションをクリックするなら、モジュール130(図1)で、図2Kで示すように、ファイル・エディタが起動する。ユーザは、変更あるいは置き替えることができる特定のファイルへのアクセスを得る。通常、そのストリームされたアプリケーションのファイル構造はユーザから隠される。もしアプリケーションがファイルを変更するなら、このファイルは、"C:/Stream Theory / local / app_name / … / file_to_be_edited"などのサブ・ディレクトリにコピーされる。
アプリケーションのパッチ(一部の修正)をする場合、エディタは、ストリームされたアプリケーションで処理されるべきであり、そのファイルがエディタから見えるよう、ストリームされたアプリケーションとしての同じストリーム・ファイルに含まれるべきである。変更されたファイルが保存されるとき、それはストリーム・ファイルとはならず、上記で指定されたディレクトリの下で、保存される。エディタは、外部のアプリケーションに見えるようにされたファイルを変更し、書き上げる。データ・ファイルは、「解凍」でないので、ストリーミング・データ・ファイルはそれらからオフライン方法で復元されない。
モジュール114(図1)で、図2Mで示すように、ユーザがアップグレード・オプションをクリックするなら、モジュール132で、図2Nで示すように、アップグレード・プログラムは、アップデートのチェックと適用を開始する。アップデートは、アップグレード、パッチ、または他の変更を含む。ストリーミング・アプリケーション・パッチで、アップグレード・スタッブ・プログラムは、パッチ・プログラムを始動するトークン・ファイルを呼び出す。そして、パッチ・プログラムは、新しいパッチを見つけ、検索するためにウェブ上に出る。新しいパッチがあれば、このファイルをダウンロードして、例えば、"C:/Program Files/Stream theory/local/app_name/… "のようなローカル・ディレクトリに保存する。ストリーミング・プレーヤーのファイル・システム・ドライバは、アップデートされたファイルや、より新しいアップデートに置き替えられるファイルがないかどうか、ローカルのアプリケーションディレクトリをチェックする。アプリケーションを実行すると、パッチされたファイルは、アクセスされ、ユーザにとって見えるようになる。
パッチ・プログラムは、ストリームされて、ストリーミング・アプリケーションで処理されるべきである。例えば、アプリケーションファイル構造は、アプリケーションの外から隠されるなら、これが必要であるかもしれない。アプリケーションの不正コピーを防ぐために安全保障上の理由でファイルが隠される。
ストリーミング・アプリケーションが、例えば、CDやDVDドライブでCDやDVDのコンテンツを予想するとき、ユーザは適切なディスクでスワップする必要がある。ストリーミング・アプリケーション自体は、特定のCDやDVDにあるデータに関連する情報がコード化されるトークン・ファイルを含む。適切なディスクが利用可能であることを確かめる事に関する問題を減少させるために、CDまたはDVDドライブを仮想化することができる。
図3Aは、ハイブリッド・ローカル/リモート・ストリーミングのためのシステム300について示す。そのシステム300は、第1ストリーミング・コンテンツ・データベース302と、第2ストリーミング・コンテンツ・データベース304と、ローカル・キャッシュ306と、ストリーミング・プレーヤー308とを含む。第1ストリーミング・コンテンツ・データベース302は、ストリーミング・サーバ310に置かれる。第2ストリーミング・コンテンツ・データベース304は、ストリーミング・クライアント312に置かれる。
一つの実施形態において、第2ストリーミング・コンテンツ・データベース304は、消費者に配布されるCDやDVDなどのリムーバブル・メディアに含まれる。第2ストリーミング・コンテンツは、直接リムーバブル・メディアからストリームされるか、またはローカル・メモリや、ハード・ディスク・ドライブなどのような非揮発性記憶装置にインストールされる。リムーバブル・メディアは、業界において周知であり、プライバシーや他の形式の知的所有権窃盗から保護するために絶え間なく発達するタイプのコピー保護安全装置を含む。
一つの実施形態において、第2ストリーミング・コンテンツ・データベース304は、ストリーミング・アプリケーションに関連するコンテンツのすべてを含んでいない。しかしながら、第1ストリーミング・コンテンツ・データベース302は、ストリーミング・アプリケーションのためのストリーミング・コンテンツの残りを含む。ストリーミング・コンテンツの業界で知られているように、ローカル・キャッシュ306は、ストリーミング・プレーヤー308がストリーミング・アプリケーションを実行する間、利用されるかもしれない。ブロックなどのコンテンツが、第1ストリーミング・コンテンツから要求されるとき、ストリーミング・プレーヤーは、ストリーミング・サーバ310からブロックを要求する。他方では、別のブロックのようなコンテンツが、第2ストリーミング・コンテンツから要求される場合、ストリーミング・プレーヤーは、第2ストリーミング・コンテンツ・データベース304が提供されたリムーバブル・メディアのようなローカル・ソースあるいは第2ストリーミング・コンテンツ・データベース304がインストールされたハード・ドライブのようなローカル・ソースからブロックを要求する。ブロックのような要求されたコンテンツが貯えられる場合、要求はローカル・キャッシュ306によって受け取られる。
いくつかの要求されたブロックが局所的に入手できるので、広帯域アクセスが利用できない、または制限されていても、高い率の速度でソフトウェアをストリームするのにシステム300を有利に使用することができる。これは、大容量のソフトウェア・タイトルに対しては、かなりの有用性がある。そのうえ、あるデータを比較的安全に保つことは、時々有益である。安全に保たれるべきであるデータは、局所的に提供されるブロックにコード化することができる。
図3Bは、ハートビート・モニター330を含むシステム300に関する例について示す。ハートビート・モニター330は、時折確認されるか、質問されるか、または別の方法で、ストリーミング・アプリケーションの進行中のストリーミングについて通知される。ソフトウェア・タイトルがどれほど使用され、どれくらいの時間、例えば、ソフトウェア・タイトルを使用することに時間を費やす目的について知ることは望ましい。ハートビート・モニター330は、どのブロックが要求されているか、また、どんなオーダーかなどの追加情報を受け取り、要求を阻むことや、ソフトウェア・タイトルの将来のバージョンのコンテンツ・データベースを構成することの回答を予測するように提供する助けになる。
図4Aは、ハイブリッド・ローカル/ネットワーク・ストリーミングのためのシステム400に関する例について示す。そのシステム400は、ストリーミング・プレーヤー402と、第1コンテンツ・データベース404と、第2コンテンツ・データベース406と、ネットワーク・インターフェース408とを含む。ストリーミング・プレーヤー402と第1コンテンツ・データベース404は、ストリーミング・クライアント412上にあり、そのクライアントは、インターネットを含むかもしれないネットワーク420と結合される。第2コンテンツ・データベース406とネットワーク・インターフェース408は、ネットワーク420とも結合されるストリーミング・サーバ410に置かれている。
一つの実施形態において、第1コンテンツ・データベース404は、20番目毎のブロックが抜けており、第2コンテンツ・データベース406では20番目毎のブロックを含む。ストリーミング・プレーヤー402が、第1、第2コンテンツ・データベース404,406の中のブロックに関連するストリーミング・アプリケーションを実行するとき、ストリーミング・プレーヤー402は、データベースのブロックの要求をする。ブロックの要求が第1コンテンツ・データベース404のブロックの1つであるなら、ブロックの要求は局所的に支払われる。他方では、ブロックの要求が第2コンテンツ・データベース406のブロックの1つであるなら、ネットワーク420を通してブロックの要求をする。その要求は、ストリーミング・プレーヤーへネットワーク420を通してネットワーク・インターフェース408を介してブロックの要求に回答を送るストリーミング・サーバ410によって受け取られる。要求がストリーミング・サーバ410によって一旦受け取られると、要求されたブロックが局所的にキャッシュされるかもしれないことに注意すべきである。
ストリーミング・アプリケーションは、異なった多種のブロックのセットのいくつかを保持するために構成されるかもしれない(例えばあらゆる5番目のブロックや、与えられたサイズより小さいあらゆるブロックなど)。図4Bは、システム400のためのコンテンツ・データベースの代替の構成について示す。図4Bに関する例では、ストリーミング・アプリケーションに関連するブロックは、ライブラリに組織化される。ストリーミング・サーバ410に置かれるコンテンツ・データベースは、ライブラリ1からNに対応するライブラリ・ブロックの部分集合416-1から416-Nとして、図4Bに示されるそれぞれのライブラリの最初の5ブロックを含む。ストリーミング・クライアント412上に置かれるコンテンツ・データベースは、ライブラリ1からNに対応するライブラリ・ブロックの部分集合414-1から414-Nとして、図4Bに示されるそれぞれのライブラリの6番目と、後のブロックをそれぞれに含む。
図4Bの中で描かれるようなコンテンツ・データベースを整えることは、(より速いであろう)ローカル・ソースのストリームされたコンテンツによって補われるストリーミング・サーバに要求されたブロック間のダウンロード期間を考慮する。一つの実施形態において、ストリーミング・サーバ410に置かれるブロックは、ソフトウェア・タイトルの自然な中断の間に現れるヘッダー情報を含む。例えば、複数のレベルを持っているゲームが構成されるかもしれないので、ヘッダー情報は各レベルを始める前に、ストリーミング・サーバ410から要求されて、各レベルの間に、コンテンツは局所的に要求される。予測的な要求能力、帯域幅および他の要因に依存して、各レベル間のポーズを要する。
図5に、ハイブリッド・ローカル/リモート・ソフトウェア・ストリーミングのための方法のフローチャート500を示す。一つの実施形態において、フローチャート500は、ストリーミング・サーバからストリーミング・アプリケーションに関連するコンテンツについて第1の部分集合をストリーミング502することから始まる。一つの実施形態において、フローチャート500は、ローカル・ソースからストリーミング・アプリケーションに関連するコンテンツの第2の部分集合をストリーミング504し続ける。一つの実施形態において、フローチャート500は、ストリーミング・サーバについて問合せる506ことを定期的に続け、その定期的な問合せが、ストリーミング・アプリケーションが起動していることをストリーミング・サーバに通知する。
図6は、ハイブリッド・ローカル/リモート・ソフトウェア・ストリーミングのためのメソッドのフローチャート600を示す。一つの実施形態において、フローチャート600は、ストリーミング・アプリケーションに関連するコンテンツを第1のコンテンツと第2のコンテンツに分割602することで始まる。これは、ストリーミング・ソフトウェア開発のストリーム化段階で行われるようにしてもよい。代わりに、アルゴリズムに基づいて、以前にストリーム化されたアプリケーションは分割されるようにしてもよい。(例えば、第1のストリーミングデータベースから20番目毎のブロックを取り外して、第2のストリーミング・コンテンツ・データベースでの20番目毎のブロックを置く)形態では、フローチャート600は、ストリーミング・サーバ上に第1のコンテンツを維持し続ける。これは、ユーザがアプリケーションをストリーミングし始めるために訪れるかもしれないウェブ・サイトを提供するのを伴う。ウェブ・サイトは、ストリーミング・コンテンツと同じ場所、または離れた場所にある。一つの実施形態において、フローチャート600は、ストリーミング・アプリケーションをストリームするという要求の受け取り606を続ける。一つの実施形態において、フローチャート600は、要求に対応してトークン・ファイルを提供し続ける。そのトークン・ファイルは、ストリーミング・サーバに関連するアドレスや、ストリーミング・サーバから第1のコンテンツを受け取る指示や、そして、ローカルのストリーミングのソースから第2のコンテンツを受け取る指示を含む。
一つの実施形態において、アプリケーションをストリームするのに使用されるストリーミング・ソフトウェア・プレーヤーは、FSDがロードされたかどうか、またはユーザがロードされたかどうか割り出すのに使用されるDLLを利用する。ユーザは、複数のストリーム・ファイルからストリームすることができるべきである。アプリケーションの一般的なファイルは、1枚のCDにフィットしなければならない。ユーザは、ストリーム・ファイルに切り換わるハード・ドライブにインストールされたソフトウェア・タイトルの新譜か仮想の同等物を求める要求を妨害することができるべきである。
ハード・ドライブの上にインストールされたファイルにおいて、ストリーミングがCDからされたかどうか、ハード・ディスクに保存されたストリーム・ファイルからされたかどうか、または他のどこかからされたかどうか割り出せるように、ストリーミング・ソフトウェア・プレーヤーについて登録がチェックされるべきである。ストリーミング・アプリケーションがディスクの上に完全にインストールされたソフトウェアのように起動することを望むなら、そのストリーミング・アプリケーションは、それがいつ異なったストリーム・ファイルに切り替わることになっているかを知るべきである。ユーザ・ファイル・システム・ドライバは、このためにストリーム・ファイルを切り換えるというシステムレベル要求をサポートする。完全にインストールされたアプリケーションは、アプリケーションを切り替えするようにFSDに呼びかけさせる。パッチ・サポートにおいて、ユーザは、異なった実行を呼び出すためのコマンドラインスイッチをサポートすることを必要とされる。ソフトウェア・タイトル・エディタ・サポートにおいて、ファイルがストリーミング・ソフトウェア・プレーヤーに関連するディレクトリに書き上げられる時のための論理は、ソフトウェア・タイトルから区別されて、慎重に扱われるべきである。
ストリーミング・アプリケーションは、セイフディスク・データを読むことを可能にするために構成される。CDであろうとハード・ドライブであろうとそれが起動していないで、アプリケーションがC-ドライブに完全にインストールされるかのように見えるように、ストリームされたアプリケーションが構成される。もしアプリケーションの一部が、ハード・ドライブとCDの上にインストールされるように見えるなら、問題は起こる。このような場合なら、この事実は、アプリケーションを処理する間、キャプチャされ、トークン・ファイルの中に保存する。アプリケーションがCDから要求をするとき、ファイル・システム・ドライバは、要求を妨害して、アプリケーションに対して要求が有効であるかどうかと割り出す。もし要求がセイフディスク情報のためのものであるなら、ST FSDによるCDからの要求の妨害は、要求が失敗する原因になる。
しかしながら、もしアプリケーションが組織化されている(すべてがC-ドライブの上に現われる)ため、インストール状態におけるデータがCDにとどまらないなら、この事実は、アプリケーションの処理の間、トークン・ファイルで示されるかもしれない。この場合、ファイル・システム・ドライバは、CDへの呼び出しを妨害しないであろうし、セイフディスク情報を求める要求は成功する。
どこにファイルが置かれているとアプリケーションが思うか、そして、実際のデータがどこからストリームされるのかというのは、2つが別物であるので、これは紛らわしく見えるかもしれない。実際のストリーム・データは、CD、ネットワーク、または、これらのすべての場合に、ファイルと実行ファイルがC-ドライブ上にあるように見えるハード・ディスクから得ることができたであろう。アプリケーションのインストールされたバージョンが、ストリーミング形式に変えられるときであっても、アプリケーションは、いくつかのデータがCD(セーフデータを除く)上にあると仮定しない。
マルチCDからストリームされたアプリケーションにおいて、コードがどう開発されて、構造化されるかに課された特定の要求がある。ストリームされないマルチCDゲームでは、異なったCD上に置かれている新しいファイルが必要であるように、アプリケーションは、特定のCDが挿入されるのを要求する。古いCDはアンマウントされ、そして、新しいCDはCD挿入のときにマウントされる。ストリームされたマルチCDゲームとは動作がいくらか異なっているかもしれない。ストリームされたアプリケーションでは、すべてのファイルの全体のディレクトリ構造は、現在マウントされたCD上に実際のファイルがないが、存在するように見える。これは、アプリケーションがストリームされる時に、全体のアプリケーションファイルおよびディレクトリ構造を知っていなければならないからである。
ストリーム・データ・ブロックを備えたCDが存在しないので、アプリケーションが存在しないアプリケーションの一部を参照しようとする場合、問題を引き起こす。たとえ読み取りファイルが利用可能に見えても、読み取りは失敗するだろう。このために、アプリケーションは、あたかもファイルがすべて存在するかのように現れるこの構造の2分法を有するが、異なるCDが挿入されることをいつ要求する必要があるかについて気づいていなければならない。ストリームされないマルチCDゲームでのように、ゲームは新しいCDを挿入する要求を出す。これは、さらにCDがそれぞれオーバーラップするディレクトリ構造を持つことができないことを示唆する。
CD間で共通なアプリケーションの部分が知られているように、ストリームされたアプリケーションが組み立てられる。ストリームされたアプリケーションは、キャッシュにこれらの共通の部分をロックするか、あるいはハード・ドライブにそれらをコピーすることができる。これらのファイルは、アプリケーションがストリームされたアプリケーションに変えられる時に識別される。
同様に、オンライン・ゲーム・プレーは、CDによって、あるいはフォーマットされたストリーム・データを備えたCDによって、アクセスされたゲームに移る。CDから伝統的に実行されたゲーム用の実行ファイルあるいはデータを検索するアクセスタイムは、ストリーム・データを備えたCDからデータにアクセスするのに必要な時間と事実上同一である。さらに、これはディスクに保存されたアプリケーションには真実である。さらに、実行ファイルまたはデータのどれもネットワークによってアクセスされないこの状況を考慮すると、そこに、オンライン・プレー・データ交換と、ハード・ディスクやCDへのアクセスとの間の帯域幅に対する最小の競合があるか、または、競合はない。
ゲーム・ファイル・システムは、ローカルやハード・ドライブ、およびストリームされたCDキャッシュの階層を探索するために修正される。ファイルは、ディスク(キャッシュ)確認者を持っている。必要ならば、ファイル・システムは、正確なディスクを挿入するようにユーザに促す。ゲームは、単純性のためにディスク・スワッピング・ポイントを制限するべきである。これは(少なくとも)レベル境界のようなものである。したがって、スワッピングは、起動するゲーム中ではなくユーザ・インターフェース・シェルの中で起こる。手前であらかじめこのディレクトリを計算することができるかもしれないし、CD上の付加的なデータ・ファイルでありえたかもしれない。取り扱う複数のディスクは、各ディスク上の複製されたデータを必要とする。これは、全面的なメディア・スペースの必要条件に影響を否定的に与えることができた。これを解決するための可能な代案は、ハード・ディスクへの部分的なインストールや、個別のディスク上のストリーム・セオリ・バッファの中でそれらを複写することではなく、共有されるコンポーネントをインストールすることを常に行うことである。
図7および図8の次の記述は、コンピュータ・ハードウェアの概観を提供することを意図し、発明の方法を行なうのにふさわしい他の操作のコンポーネントをここに記述したが、適用可能な環境を制限するものではない。同様に、コンピュータ・ハードウェアおよび他の操作のコンポーネントは、ここに記述された発明の構成の一部として適切かもしれない。本発明は、携帯端末、マルチプロセッサ・システム、マイクロプロセッサに基づいているかプログラム可能な家電、ネットワークPC、ミニコンピュータ、メインフレーム・コンピュータおよびその他同種のものを含む他のコンピュータ・システム構成で実行することができる。本発明も、通信網によってリンクされるリモート・プロセッシング・デバイスによってタスクが行なわれる分散コンピューティング環境の中で実行することができる。
図7は、インターネットのようなネットワーク702を通じてともにつながれたいくつかのコンピュータ・システムを含むネットワークにつながれたシステム700を示す。ここに使用されるような用語「インターネット」は、TCP/IPプロトコルのようなあるプロトコル、および、おそらくハイパー・テキスト・トランスファ・プロトコル(HTTP)のような他のプロトコルをワールド・ワイド・ウェブ(ウェブ)を構築するハイパー・テキスト・マークアップ・ラングウェッジ(HTML)・ドキュメントに使用するネットワークを指す。インターネットの物理接続およびインターネットのプロトコルおよびインターネットの通信規定は、当業者によく知られている。
ウェブ・サーバ704は、主にサーバ・コンピュータ・システムとして作動し、ワールド・ワイド・ウェブのプロトコルで作動するように構成される少なくとも1つのコンピュータ・システムで、インターネットにつながれる。ウェブ・サーバ・システム704は、従来のサーバ・コンピュータ・システムになりえる。ウェブ・サーバ704は、自由に、クライアント・システムにインターネットへのアクセスを提供するISPの一部になりえる。ウェブ・サーバ704は、メディア・データベースの形式と考えることができるウェブ・コンテンツ708につながるサーバ・コンピュータ・システム706につながれることを示す。下記のように、2つのコンピュータ・システムズ704および706は、図7の中で示されるが、ウェブ・サーバ・システム704およびサーバ・コンピュータ・システム706は、サーバ・コンピュータ・システム706によって提供されるウェブ・サーバ機能性およびサーバ機能性を提供する異なるソフトウェア・コンポーネントを有する1つのコンピュータ・システムである。
ネットワーク702へのアクセスは、ISPs 710および716のようなインターネット・サービス・プロバイダー(ISPs)によって主に提供される。クライアント・コンピュータ・システム712,718,722,726のようなクライアント・システム上のユーザは、インターネットにISP 710,716を通じてアクセスする。インターネットへのアクセスは、情報を交換し、受け取り、電子メールを送り、HTMLフォーマットで準備されているドキュメントのようなドキュメントを見るクライアント・コンピュータ・システムのユーザを許可する。これらのドキュメントは、インターネット上のウェブ・サーバ704のようなウェブ・サーバによって、しばしば提供される。たとえ、コンピュータ・システムをセット・アップすることができ、そのシステムもISPsもなしでインターネットに接続できたとしても、これらのウェブ・サーバはISPs 710のようなISPsによって提供される。
クライアント・コンピュータ・システム712,718,722,726は、各々、適切なウェブ・ブラウジング・ソフトウェアで、ウェブ・サーバ704によって提供されるHTMLページを見ることができる。ISP 710は、クライアント・コンピュータ・システム712の一部と考えることができるモデム・インタフェース714を通して、クライアント・コンピュータ・システム712にインターネット接続を提供する。クライアント・コンピュータ・システムは、パソコン・システム、ネットワーク・コンピュータ、ウェブ・テレビ・システムあるいは他のコンピュータ・システムになりえる。図7は、一般的な「モデム」としてモデム・インタフェース714を示すが、インターフェースは、アナログ・モデム、ISDNモデム、ケーブル・モデム、衛星伝送インターフェース(例えば「直接のPC」)あるいは他のコンピュータ・システムにコンピュータ・システムをつなぐための他のインターフェースになりえる。
ISP 714と同様に、ISP 716は、クライアント・システム718,722,726にインターネット接続を供給するが、図7で示されるように、接続は、これらの3つのコンピュータ・システムに対して同一ではない。
クライアント・コンピュータ・システムズ722,726は、ネットワーク・インターフェース724,728を通ってイーサネット・ネットワークあるいは他のネットワーク・インターフェースになりえるLAN 730につながれる。LAN 730も、ローカル・エリア・ネットワークにファイアウォールおよび他のインターネット関連のサービスを供給することができるゲートウェイ・コンピュータ・システム732につながれる。このゲートウェイ・コンピュータ・システム732は、クライアント・コンピュータ・システムズ722,726にインターネット接続を供給するISP 716につながれる。ゲートウェイ・コンピュータ・システム732は従来のサーバ・コンピュータ・システムになりえる。
あるいは、サーバ・コンピュータ・システム734は、クライアント722,726にファイル738および他のサービスを供給するために、ゲートウェイ・システム732によってインターネットに接続する必要なしに、ネットワーク・インターフェース736を通ってLAN 730に直接つなぐことができる。
図8は、システム700(図7)で使用されるコンピュータ・システム740を示す。コンピュータ・システム740は、クライアント・コンピュータ・システムあるいはサーバ・コンピュータ・システム、あるいはウェブ・サーバ・システムとして使用することができる従来のコンピュータ・システムかもしれない。そのようなコンピュータ・システムは、ISP 710(図7)のようなインターネット・サービス・プロバイダーの機能の多くを行なうために使用することができる。
図8の例では、コンピュータ・システム740は、コンピュータ742、I/Oデバイス744およびディスプレイ・デバイス746を含む。コンピュータ742は、プロセッサ748、コミュニケーション・インターフェース750、メモリ752、ディスプレイ・コントローラ754、不揮発性の記憶装置756およびI/O・コントローラ758を含む。コンピュータ・システム740は、おそらく、I/O装置744およびディスプレイ装置746に連結されるかあるいは含む。
コンピュータ742は、モデムかネットワーク・インターフェースを含むかもしれないコミュニケーション・インターフェース750を通して、外部システムと調和する。コミュニケーション・インターフェース750は、コンピュータ・システム740あるいはコンピュータ742の一部であると考えることができると認識されるであろう。コミュニケーション・インターフェースは、アナログ・モデム、ISDNモデム、ケーブル・モデム、トークン・リング・インターフェース、衛星伝送インターフェース(例えば「ディレクトPC」)あるいは他のコンピュータ・システムにコンピュータ・システムをつなぐための他のインターフェースになり得る。
プロセッサ748は、例えばインテル・ペンティアム・マイクロプロセッサあるいはモトローラ・パワーPCマイクロプロセッサのような従来のマイクロプロセッサかもしれない。メモリ752はバス760でプロセッサ748につながれる。メモリ752はDynamic Random Access Memory (DRAM)になりえて、さらにStatic RAM (SRAM)を含むことができる。バス760は、メモリ752、さらに不揮発性の記憶装置756、ディスプレイ制御装置754およびI/Oコントローラ758にプロセッサ748をつなぐ。
I/O装置744はキーボード、ディスクドライブ、プリンタ、スキャナ、およびマウスあるいは他のポインティング・デバイスを含む他の入出力装置を含むことができる。ディスプレイ制御装置754は、従来の方法でディスプレイ装置746上の、例えば、陰極線管(CRT)か液晶ディスプレイ(LCD)になりえるディスプレイをコントロールするかもしれない。ディスプレイ制御装置754およびI/Oコントローラ758は、従来の有名な技術で実行することができる。
不揮発性記憶装置756は、多くの場合、大量のデータ用の磁気ハード・ディスクや光ディスクあるいは別の形式の記憶装置である。このデータのうちのいくつかは、ダイレクト・メモリー・アクセス・プロセスによって、コンピュータ742中のソフトウェアの実行の間、メモリ752にしばしば書かれている。技術におけるスキルのうちの1つは、「機械可読媒体」あるいは「コンピュータ可読媒体」という用語が、プロセッサ748によってアクセス可能で、さらにデータ信号をエンコードする搬送波を包含する任意のタイプの記憶装置を含むことを直ちに認識するであろう。
オブジェクト、方法、インライン・キャッシュ、キャッシュ状態および他のオブジェクト指向のコンポーネントは、不揮発性記憶装置756に格納されるかもしれず、あるいは、例えばオブジェクト指向のソフトウェア・プログラムの実行の間に、メモリ752に書き込まれるかもしれない。このように、例えば図1〜3および6の中で例示されたコンポーネントは、コンピュータ・システム740上で実証することができる。
コンピュータ・システム740は、異なるアーキテクチャーを持つ多くの可能性のあるコンピュータ・システムの1つの例である。例えば、インテル・マイクロプロセッサに基づいたパソコンはしばしば多数のバスを持っている。そのうちの1つは、周辺装置、およびプロセッサ748やメモリ752(しばしばメモリ・バスと呼ばれる)を直接接続するためのI/Oバスになり得る。それらのバスは、異なるバス・プロトコルにより、どんな必要な翻訳も行なうブリッジ・コンポーネントによってともに接続される。
ネットワーク・コンピュータは、本発明と共に使用することができる別のタイプのコンピュータ・システムである。ネットワーク・コンピュータは、通常ハード・ディスクあるいは他のマス・ストレージを含んでいない。また、実行可能プログラムは、プロセッサ748によってネットワーク接続から実行用のメモリ752にロードされる。ウェブテレビ・システム(その業界の中で知られている)も本発明によるコンピュータ・システムであると考えられる。しかし、それは、ある入力あるいは出力装置のような図8の中で示される特徴のうちのいくつかを欠くかもしれない。典型的なコンピュータ・システムは、通常、少なくとも1台のプロセッサ、メモリ、およびプロセッサにメモリをつなぐバスを含むであろう。
さらに、コンピュータ・システム740は、オペレーティング・システム・ソフトウェアの一部であるディスク・オペレーティング・システムのようなファイル管理システムを含むオペレーティング・システム・ソフトウェアによってコントロールされる。その関連するファイル管理システム・ソフトウェアを備えたオペレーティング・システム・ソフトウェアの1つの例は、レドモンド(ワシントン)のマイクロソフト株式会社のウインドウズとして知られるオペレーティング・システムおよびそれらの関連するファイル管理システムの一群である。その関連するファイル管理システム・ソフトウェアを備えたオペレーティング・システム・ソフトウェアの別の例は、Linuxオペレーティング・システムおよびその関連するファイル管理システムである。ファイル管理システムは、不揮発性記憶装置756に典型的に格納され、プロセッサ748に、データの入出力やメモリへのデータの格納(不揮発性記憶装置756上にファイルを格納することを含む)をするために、オペレーティング・システムによって要求される様々な行為を実行させる。
詳細な記述のいくつかの部分は、コンピュータ・メモリー内のデータ・ビットに対するオペレーションのアルゴリズムおよび記号による表現の点から示される。これらのアルゴリズムの記述および表現は、技術に熟練する他のものに対して、最も有効にそれらの仕事の大部分を伝えるためにデータ処理技術に熟練する人々によって使用される手段である。アルゴリズムは、希望の結果に結びつくオペレーションの自己矛盾がないシーケンスであると一般に考えられる。オペレーションは、物理量の物理的な操作を必要とする。通常、必ずではなく、これらの量は、格納すること、転送すること、組み合わせること、比較すること、またそうでなければ操作することが可能である電気的あるいは磁気的信号の形式をとる。これらの信号をビット、値、要素、シンボル、文字、用語、数あるいはその他同種のものと呼ぶことは、主に一般的慣習の理由で、時々便利であると分かる。
しかし、これらの全ておよび同種の用語が、適切な物理量に関連し、これらの量に適用された単に便利なラベルであるということは心に留めておかれるべきことである。特に別記しない限り、次の議論から明白なものとして、「処理」あるいは「コンピューティング」、「計算する」、「決定する」あるいは「表示する」、または、同様の用語を利用する議論、コンピュータ・システムの動きおよび処理に言及する、あるいは、同種の電子コンピューティング装置、又は、コンピュータ・システムのコンピュータ・システム・メモリや登録、あるいは、他の情報記憶内の物理量として同様に表わされた他のデータの中への登録、および、メモリ内の物理的な(電子)量として表わされるデータの操作や変換、トランスミッション、あるいは、ディスプレイ装置、のような記述の全体にわたって評価される。
本発明は、さらにいくつかの実施形態において、オペレーションをここに実行するための装置に関係がある。この装置は、要求された目的のために特に構築されるかもしれない。あるいは、それは、コンピュータに格納されたコンピュータ・プログラムによって選択的に活性化されるか再構成される汎用計算機を含むかもしれない。そのようなコンピュータ・プログラムは、フロッピーディスク、光ディスク、CD-ROMおよび光磁気ディスクを含む任意のタイプのディスク、読み出し専用メモリ(ROM)、ランダム・アクセス・メモリー(RAM)、EPROM、EEPROM、磁気あるいは光カード、電子指示を格納し、各々がコンピュータ・システム・バスに連結されるのに適した任意のタイプのメディアのようなコンピュータで読取り可能な記憶媒体に格納される。しかし、これらに限定されるものではない。
ここに示されたアルゴリズムとディスプレイは、本質的にどんな特別のコンピュータ、あるいは、他の装置とも関係がない。あるいは、いくつかの形態の方法を行なうための、より多くの専門の装置を構築することは、便利であると分かり得る。様々なこれらのシステム用の必要な構造が、記述から下に現われるであろう。さらに、本発明は、どんな特別なプログラミング言語に関しても記述されない。また、様々な形態は、様々なプログラミング言語を使用して、このように実行されるかもしれない。
本発明で記述された形態の修正、交換および均等物が本発明の創造性の範囲内であることが、当業者によって理解されるだろう。したがって、次に添付される特許請求の範囲は、本発明の真情および範囲内での修正、交換および均等物をすべて含むことを意図し、本発明は、特許請求の範囲によってのみ限定される。
Claims (20)
- ストリーミング・ソフトウェア・プレーヤーを起動させること、
ストリーミング・ソフトウェア・プレーヤーを使用して、ソフトウェア・アプリケーションをストリームするのに必要なローカル・ストレージ・デバイスからのデータにアクセスすること、
ストリーミング・ソフトウェア・プレーヤーを使用して、ソフトウェア・アプリケーションをストリームするのに必要なローカル・キャッシュからのデータにアクセスすること、
ストリーミング・ソフトウェア・プレーヤーを使用して、ソフトウェア・アプリケーションをストリームするのに必要なリモート・ロケーションからのデータにアクセスすること
を含む方法。 - ソフトウェア・アプリケーションをストリームするための要求を送信することをさらに含む請求項1に記載の方法。
- ソフトウェア・アプリケーションをストリームするための要求に応じてトークン・ファイルを受信することをさらに含む請求項1に記載の方法。
- ソフトウェア・アプリケーションをストリームするための要求に応じてストリーミング・サーバのアドレスをリモート・ロケーションで受信することをさらに含む請求項1に記載の方法。
- ソフトウェア・アプリケーションをストリームするための要求に応じて、リモート・ロケーションから第1のコンテンツにアクセスするための指示と、ローカル・ストレージ・デバイスから第2のコンテンツにアクセスするための指示とを受信することをさらに含む請求項1に記載の方法。
- リモート・ロケーションでストリーミング・サーバに定期的に問合せすることをさらに含み、定期的な問合せが、ストリーミング・アプリケーションが起動していることをストリーミング・サーバに通知する請求項1に記載の方法。
- ローカル・ストレージ・デバイスは、リムーバブル・ストレージ・デバイスである請求項1に記載の方法。
- ストリーミング・サーバで、ストリーミング・アプリケーションに関連する第1のコンテンツを維持すること、ストリーミング・アプリケーションをストリームするための要求を受信すること、要求に応じてトークン・ファイルを提供することを含み、前記トークン・ファイルは、ストリーミング・サーバに関連するアドレスと、適切にストリーミング・アプリケーションをストリーミングするために必要である第1のコンテンツをストリーミング・サーバから受信するための指示と、適切にストリーミング・アプリケーションをストリーミングするために必要である第2のコンテンツをローカル・ストリーミング・ソースから受信するための指示とを含む方法。
- ストリーミング・アプリケーションに関連するコンテンツを第1のコンテンツと第2のコンテンツとに分割することをさらに含む請求項8に記載の方法。
- ネットワーク化されたサーバに第1のコンテンツを維持することをさらに含む請求項8に記載の方法。
- ストリーミング・アプリケーションをストリームするのに必要なファイルであって、第2のコンテンツに関連するローカル・アドレスと、第2のコンテンツに関連するリモート・アドレスとを含むファイルを消費者に提供することをさらに含む請求項8に記載の方法。
- 第2のコンテンツをリムーバブル・メディアに置くことをさらに含む請求項8に記載の方法。
- 保存された第2のコンテンツを有するリムーバブル・メディアが消費者にとって利用可能にすることをさらに含む請求項8に記載の方法。
- ストリーミング・アプリケーションに関連するコンテンツの第1の部分集合をストリーミング・サーバからストリーミングする手段と、ストリーミング・アプリケーションに関連するコンテンツの第2の部分集合をローカル・ソースからストリーミングする手段と、ストリーミング・サーバに定期的に問合せする手段であって、定期的な問合せが、ストリーミング・アプリケーションが起動していることをストリーミング・サーバに通知するようになっている手段とを含むシステム。
- ストリーミング・ソフトウェア・プレーヤーを起動させる手段をさらに含む請求項14に記載の方法。
- ソフトウェア・アプリケーションをストリームするための要求をストリーミング・サーバに送信する手段をさらに含む請求項14に記載のシステム。
- ソフトウェア・アプリケーションをストリームするのに必要なローカル・ストレージ・デバイスからのデータにアクセスする手段をさらに含む請求項14に記載のシステム。
- ソフトウェア・アプリケーションをストリームするのに必要なローカル・キャッシュからのデータにアクセスする手段をさらに含む請求項14に記載のシステム。
- ストリーミング・ソフトウェア・プレーヤーを使用して、ソフトウェア・アプリケーションをストリームするのに必要なリモート・ロケーションからのデータにアクセスする手段をさらに含む請求項14に記載のシステム。
- ローカル・ソースがリムーバブル・ストレージ・デバイスである請求項14に記載のシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US62750204P | 2004-11-13 | 2004-11-13 | |
US62851704P | 2004-11-15 | 2004-11-15 | |
PCT/US2005/041024 WO2006055445A2 (en) | 2004-11-13 | 2005-11-14 | Hybrid local/remote streaming |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008527468A true JP2008527468A (ja) | 2008-07-24 |
Family
ID=36407661
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007541374A Withdrawn JP2008527468A (ja) | 2004-11-13 | 2005-11-14 | ハイブリッド・ローカル/リモート・ストリーミング |
Country Status (4)
Country | Link |
---|---|
US (4) | US20060168294A1 (ja) |
EP (1) | EP1825390A2 (ja) |
JP (1) | JP2008527468A (ja) |
WO (1) | WO2006055445A2 (ja) |
Families Citing this family (58)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6453334B1 (en) | 1997-06-16 | 2002-09-17 | Streamtheory, Inc. | Method and apparatus to allow remotely located computer programs and/or data to be accessed on a local computer in a secure, time-limited manner, with persistent caching |
US20020087883A1 (en) * | 2000-11-06 | 2002-07-04 | Curt Wohlgemuth | Anti-piracy system for remotely served computer applications |
US20020083183A1 (en) * | 2000-11-06 | 2002-06-27 | Sanjay Pujare | Conventionally coded application conversion system for streamed delivery and execution |
US7062567B2 (en) | 2000-11-06 | 2006-06-13 | Endeavors Technology, Inc. | Intelligent network streaming and execution system for conventionally coded applications |
US8831995B2 (en) | 2000-11-06 | 2014-09-09 | Numecent Holdings, Inc. | Optimized server for streamed applications |
US20060048136A1 (en) * | 2004-08-25 | 2006-03-02 | Vries Jeff D | Interception-based resource detection system |
US7240162B2 (en) * | 2004-10-22 | 2007-07-03 | Stream Theory, Inc. | System and method for predictive streaming |
JP2008527468A (ja) | 2004-11-13 | 2008-07-24 | ストリーム セオリー,インコーポレイテッド | ハイブリッド・ローカル/リモート・ストリーミング |
KR101075676B1 (ko) * | 2004-11-20 | 2011-10-21 | 삼성전자주식회사 | 이동통신 단말기에 소프트웨어를 설치하는 장치 및 방법 |
US20060136389A1 (en) * | 2004-12-22 | 2006-06-22 | Cover Clay H | System and method for invocation of streaming application |
EP1696321A1 (en) * | 2005-02-23 | 2006-08-30 | Deutsche Thomson-Brandt Gmbh | Method and apparatus for executing software applications |
US8024523B2 (en) | 2007-11-07 | 2011-09-20 | Endeavors Technologies, Inc. | Opportunistic block transmission with time constraints |
US9716609B2 (en) | 2005-03-23 | 2017-07-25 | Numecent Holdings, Inc. | System and method for tracking changes to files in streaming applications |
US20060218165A1 (en) * | 2005-03-23 | 2006-09-28 | Vries Jeffrey De | Explicit overlay integration rules |
US8888592B1 (en) | 2009-06-01 | 2014-11-18 | Sony Computer Entertainment America Llc | Voice overlay |
EP2085973A1 (en) * | 2006-10-17 | 2009-08-05 | Soft-R Research LLC | System and method for recording data on a multi-session optical recording disc with autorun |
US8261345B2 (en) | 2006-10-23 | 2012-09-04 | Endeavors Technologies, Inc. | Rule-based application access management |
KR20090017351A (ko) * | 2007-08-14 | 2009-02-18 | (주)씨디네트웍스 | 프로그램 제어장치, 프로그램 제어방법 및 그 기록 매체 |
US20090063978A1 (en) * | 2007-09-05 | 2009-03-05 | Sony Corporation | Network status icon in navigable toolbar |
US8892738B2 (en) | 2007-11-07 | 2014-11-18 | Numecent Holdings, Inc. | Deriving component statistics for a stream enabled application |
US20090138876A1 (en) | 2007-11-22 | 2009-05-28 | Hsuan-Yeh Chang | Method and system for delivering application packages based on user demands |
US8147339B1 (en) | 2007-12-15 | 2012-04-03 | Gaikai Inc. | Systems and methods of serving game video |
US8968087B1 (en) | 2009-06-01 | 2015-03-03 | Sony Computer Entertainment America Llc | Video game overlay |
US8613673B2 (en) | 2008-12-15 | 2013-12-24 | Sony Computer Entertainment America Llc | Intelligent game loading |
KR100936239B1 (ko) * | 2007-12-18 | 2010-01-12 | 한국전자통신연구원 | 스트리밍 기반 이동형 소프트웨어 제공 시스템 및 방법 |
US8776038B2 (en) | 2008-08-07 | 2014-07-08 | Code Systems Corporation | Method and system for configuration of virtualized software applications |
US8434093B2 (en) | 2008-08-07 | 2013-04-30 | Code Systems Corporation | Method and system for virtualization of software applications |
US8863116B1 (en) * | 2008-11-20 | 2014-10-14 | Symantec Corporation | Pre-storing blocks for a streamed application in a local cache on a host computer system |
KR101711863B1 (ko) | 2008-11-26 | 2017-03-13 | 캘거리 싸이언티픽 인코포레이티드 | 애플리케이션 프로그램의 상태에 대한 원격 액세스를 제공하기 위한 방법 및 시스템 |
US8926435B2 (en) | 2008-12-15 | 2015-01-06 | Sony Computer Entertainment America Llc | Dual-mode program execution |
CA2751059A1 (en) * | 2009-02-03 | 2010-08-12 | Calgary Scientific Inc. | Method and system for enabling interaction with a plurality of applications using a single user interface |
US10055105B2 (en) | 2009-02-03 | 2018-08-21 | Calgary Scientific Inc. | Method and system for enabling interaction with a plurality of applications using a single user interface |
US8506402B2 (en) | 2009-06-01 | 2013-08-13 | Sony Computer Entertainment America Llc | Game execution environments |
US8954958B2 (en) * | 2010-01-11 | 2015-02-10 | Code Systems Corporation | Method of configuring a virtual application |
US9104517B2 (en) | 2010-01-27 | 2015-08-11 | Code Systems Corporation | System for downloading and executing a virtual application |
US8959183B2 (en) | 2010-01-27 | 2015-02-17 | Code Systems Corporation | System for downloading and executing a virtual application |
US9229748B2 (en) | 2010-01-29 | 2016-01-05 | Code Systems Corporation | Method and system for improving startup performance and interoperability of a virtual application |
US8763009B2 (en) | 2010-04-17 | 2014-06-24 | Code Systems Corporation | Method of hosting a first application in a second application |
KR101831686B1 (ko) * | 2010-06-14 | 2018-02-23 | 삼성전자주식회사 | 홈 네트워크에서 객체의 변경을 판단하는 방법 및 장치 |
US8676591B1 (en) | 2010-08-02 | 2014-03-18 | Sony Computer Entertainment America Llc | Audio deceleration |
US9218359B2 (en) | 2010-07-02 | 2015-12-22 | Code Systems Corporation | Method and system for profiling virtual application resource utilization patterns by executing virtualized application |
KR20170129967A (ko) | 2010-09-13 | 2017-11-27 | 소니 인터랙티브 엔터테인먼트 아메리카 엘엘씨 | 게임 서버를 포함하는 컴퓨터 게임 시스템에서 통신 네트워크를 통해 클라이언트들 간에 게임 세션을 이송하는 방법 |
KR102288072B1 (ko) | 2010-09-13 | 2021-08-10 | 소니 인터랙티브 엔터테인먼트 아메리카 엘엘씨 | 부가기능의 관리 |
US9021015B2 (en) | 2010-10-18 | 2015-04-28 | Code Systems Corporation | Method and system for publishing virtual applications to a web server |
US9209976B2 (en) | 2010-10-29 | 2015-12-08 | Code Systems Corporation | Method and system for restricting execution of virtual applications to a managed process environment |
US9741084B2 (en) | 2011-01-04 | 2017-08-22 | Calgary Scientific Inc. | Method and system for providing remote access to data for display on a mobile device |
CA2734860A1 (en) | 2011-03-21 | 2012-09-21 | Calgary Scientific Inc. | Method and system for providing a state model of an application program |
US9517410B2 (en) | 2011-04-28 | 2016-12-13 | Numecent Holdings, Inc. | Adaptive application streaming in cloud gaming |
US9720747B2 (en) | 2011-08-15 | 2017-08-01 | Calgary Scientific Inc. | Method for flow control and reliable communication in a collaborative environment |
JP2014531626A (ja) | 2011-08-15 | 2014-11-27 | カルガリー サイエンティフィック インコーポレイテッド | アプリケーションプログラムへの非侵襲的遠隔アクセス |
CA2850422C (en) | 2011-09-30 | 2023-09-26 | Calgary Scientific Inc. | Uncoupled application extensions including interactive digital surface layer for collaborative remote application sharing and annotating |
WO2013076554A1 (en) | 2011-11-23 | 2013-05-30 | Calgary Scientific Inc. | Methods ans systems for collaborative remote application sharing and conferencing |
WO2013128284A1 (en) | 2012-03-02 | 2013-09-06 | Calgary Scientific Inc. | Remote control of an application using dynamic-linked library (dll) injection |
US9729673B2 (en) | 2012-06-21 | 2017-08-08 | Calgary Scientific Inc. | Method and system for providing synchronized views of multiple applications for display on a remote computing device |
WO2015080845A1 (en) | 2013-11-29 | 2015-06-04 | Calgary Scientific Inc. | Method for providing a connection of a client to an unmanaged service in a client-server remote access system |
US10015264B2 (en) | 2015-01-30 | 2018-07-03 | Calgary Scientific Inc. | Generalized proxy architecture to provide remote access to an application framework |
AU2016210974A1 (en) | 2015-01-30 | 2017-07-27 | Calgary Scientific Inc. | Highly scalable, fault tolerant remote access architecture and method of connecting thereto |
US10635715B2 (en) | 2016-05-09 | 2020-04-28 | Numecent Holdings, Inc. | Remote virtualized asset delivery and local provisioning |
Family Cites Families (247)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5109413A (en) * | 1986-11-05 | 1992-04-28 | International Business Machines Corporation | Manipulating rights-to-execute in connection with a software copy protection mechanism |
US4796220A (en) * | 1986-12-15 | 1989-01-03 | Pride Software Development Corp. | Method of controlling the copying of software |
US5063500A (en) | 1988-09-29 | 1991-11-05 | Ibm Corp. | System for executing segments of application program concurrently/serially on different/same virtual machine |
JPH0688191B2 (ja) * | 1988-11-15 | 1994-11-09 | オ−クマ株式会社 | 数値制御情報作成装置における加工部位の決定方法 |
US5701427A (en) | 1989-09-19 | 1997-12-23 | Digital Equipment Corp. | Information transfer arrangement for distributed computer system |
US5210850A (en) | 1990-06-15 | 1993-05-11 | Compaq Computer Corporation | Memory address space determination using programmable limit registers with single-ended comparators |
US5892953A (en) | 1991-04-15 | 1999-04-06 | International Business Machines Corporation | Corrective service facility |
US5293556A (en) * | 1991-07-29 | 1994-03-08 | Storage Technology Corporation | Knowledge based field replaceable unit management |
AU672770B2 (en) | 1992-02-18 | 1996-10-17 | Ricos Co., Ltd. | Computer game device |
AU3944793A (en) | 1992-03-31 | 1993-11-08 | Aggregate Computing, Inc. | An integrated remote execution system for a heterogenous computer network environment |
US6418556B1 (en) | 1993-09-09 | 2002-07-09 | United Video Properties, Inc. | Electronic television program guide schedule system and method |
US5771354A (en) * | 1993-11-04 | 1998-06-23 | Crawford; Christopher M. | Internet online backup system provides remote storage for customers using IDs and passwords which were interactively established when signing up for backup services |
EP0728333A1 (en) * | 1993-11-09 | 1996-08-28 | Arcada Software | Data backup and restore system for a computer network |
US5606668A (en) | 1993-12-15 | 1997-02-25 | Checkpoint Software Technologies Ltd. | System for securing inbound and outbound data packet flow in a computer network |
US5495411A (en) * | 1993-12-22 | 1996-02-27 | Ananda; Mohan | Secure software rental system using continuous asynchronous password verification |
CA2140850C (en) | 1994-02-24 | 1999-09-21 | Howard Paul Katseff | Networked system for display of multimedia presentations |
US5768539A (en) * | 1994-05-27 | 1998-06-16 | Bell Atlantic Network Services, Inc. | Downloading applications software through a broadcast channel |
US5666293A (en) | 1994-05-27 | 1997-09-09 | Bell Atlantic Network Services, Inc. | Downloading operating system software through a broadcast channel |
JP3138171B2 (ja) | 1994-06-22 | 2001-02-26 | インターナショナル・ビジネス・マシーンズ・コーポレ−ション | システム機能をダウンロードする方法 |
US5696965A (en) | 1994-11-03 | 1997-12-09 | Intel Corporation | Electronic information appraisal agent |
US5715403A (en) * | 1994-11-23 | 1998-02-03 | Xerox Corporation | System for controlling the distribution and use of digital works having attached usage rights where the usage rights are defined by a usage rights grammar |
US6282712B1 (en) | 1995-03-10 | 2001-08-28 | Microsoft Corporation | Automatic software installation on heterogeneous networked computer systems |
US5805809A (en) | 1995-04-26 | 1998-09-08 | Shiva Corporation | Installable performance accelerator for maintaining a local cache storing data residing on a server computer |
US5724571A (en) | 1995-07-07 | 1998-03-03 | Sun Microsystems, Inc. | Method and apparatus for generating query responses in a computer-based document retrieval system |
US5706440A (en) | 1995-08-23 | 1998-01-06 | International Business Machines Corporation | Method and system for determining hub topology of an ethernet LAN segment |
US5809144A (en) | 1995-08-24 | 1998-09-15 | Carnegie Mellon University | Method and apparatus for purchasing and delivering digital goods over a network |
US5765152A (en) * | 1995-10-13 | 1998-06-09 | Trustees Of Dartmouth College | System and method for managing copyrighted electronic media |
US6047323A (en) | 1995-10-19 | 2000-04-04 | Hewlett-Packard Company | Creation and migration of distributed streams in clusters of networked computers |
US5778395A (en) | 1995-10-23 | 1998-07-07 | Stac, Inc. | System for backing up files from disk volumes on multiple nodes of a computer network |
US5933603A (en) | 1995-10-27 | 1999-08-03 | Emc Corporation | Video file server maintaining sliding windows of a video data set in random access memories of stream server computers for immediate video-on-demand service beginning at any specified location |
US5948062A (en) | 1995-10-27 | 1999-09-07 | Emc Corporation | Network file server using a cached disk array storing a network file directory including file locking information and data mover computers each having file system software for shared read-write file access |
US5764906A (en) * | 1995-11-07 | 1998-06-09 | Netword Llc | Universal electronic resource denotation, request and delivery system |
US5796951A (en) | 1995-12-22 | 1998-08-18 | Intel Corporation | System for displaying information relating to a computer network including association devices with tasks performable on those devices |
US6240535B1 (en) | 1995-12-22 | 2001-05-29 | Micron Technology, Inc. | Device and method for testing integrated circuit dice in an integrated circuit module |
US5909545A (en) | 1996-01-19 | 1999-06-01 | Tridia Corporation | Method and system for on demand downloading of module to enable remote control of an application program over a network |
US5790753A (en) | 1996-01-22 | 1998-08-04 | Digital Equipment Corporation | System for downloading computer software programs |
US5931907A (en) | 1996-01-23 | 1999-08-03 | British Telecommunications Public Limited Company | Software agent for comparing locally accessible keywords with meta-information and having pointers associated with distributed information |
US5855020A (en) | 1996-02-21 | 1998-12-29 | Infoseek Corporation | Web scan process |
JPH09231156A (ja) | 1996-02-28 | 1997-09-05 | Nec Corp | プログラム受信機能付遠隔実行装置 |
US5838910A (en) | 1996-03-14 | 1998-11-17 | Domenikos; Steven D. | Systems and methods for executing application programs from a memory device linked to a server at an internet site |
US5764910A (en) * | 1996-04-02 | 1998-06-09 | National Semiconductor Corporation | Method and apparatus for encoding and using network resource locators |
US7192352B2 (en) | 1996-04-22 | 2007-03-20 | Walker Digital, Llc | System and method for facilitating play of a video game via a web site |
US5929849A (en) | 1996-05-02 | 1999-07-27 | Phoenix Technologies, Ltd. | Integration of dynamic universal resource locators with television presentations |
US5768528A (en) | 1996-05-24 | 1998-06-16 | V-Cast, Inc. | Client-server system for delivery of online information |
US6018619A (en) | 1996-05-24 | 2000-01-25 | Microsoft Corporation | Method, system and apparatus for client-side usage tracking of information server systems |
US5903892A (en) | 1996-05-24 | 1999-05-11 | Magnifi, Inc. | Indexing of media content on a network |
US6151643A (en) | 1996-06-07 | 2000-11-21 | Networks Associates, Inc. | Automatic updating of diverse software products on multiple client computer systems by downloading scanning application to client computer and generating software list on client computer |
US5778173A (en) | 1996-06-12 | 1998-07-07 | At&T Corp. | Mechanism for enabling secure electronic transactions on the open internet |
US5943424A (en) | 1996-06-17 | 1999-08-24 | Hewlett-Packard Company | System, method and article of manufacture for processing a plurality of transactions from a single initiation point on a multichannel, extensible, flexible architecture |
WO1997049039A1 (en) * | 1996-06-21 | 1997-12-24 | Bell Communications Research, Inc. | Apparatus and methods for highly available directory services in the distributed computing environment |
US6138271A (en) | 1996-06-26 | 2000-10-24 | Rockwell Technologies, Llc | Operating system for embedded computers |
US5874986A (en) * | 1996-06-26 | 1999-02-23 | At&T Corp | Method for communicating audiovisual programs over a communications network |
US5835722A (en) | 1996-06-27 | 1998-11-10 | Logon Data Corporation | System to control content and prohibit certain interactive attempts by a person using a personal computer |
US6424991B1 (en) | 1996-07-01 | 2002-07-23 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server communication framework |
US5903732A (en) | 1996-07-03 | 1999-05-11 | Hewlett-Packard Company | Trusted gateway agent for web server programs |
US6061738A (en) * | 1997-06-27 | 2000-05-09 | D&I Systems, Inc. | Method and system for accessing information on a network using message aliasing functions having shadow callback functions |
US6038610A (en) * | 1996-07-17 | 2000-03-14 | Microsoft Corporation | Storage of sitemaps at server sites for holding information regarding content |
US5881232A (en) | 1996-07-23 | 1999-03-09 | International Business Machines Corporation | Generic SQL query agent |
US5973696A (en) | 1996-08-08 | 1999-10-26 | Agranat Systems, Inc. | Embedded web server |
US5878425A (en) | 1996-08-21 | 1999-03-02 | International Business Machines Corp. | Intuitive technique for visually creating resource files |
US6601103B1 (en) | 1996-08-22 | 2003-07-29 | Intel Corporation | Method and apparatus for providing personalized supplemental programming |
US5991306A (en) | 1996-08-26 | 1999-11-23 | Microsoft Corporation | Pull based, intelligent caching system and method for delivering data over a network |
US6049835A (en) * | 1996-08-30 | 2000-04-11 | Internet Media Corporation | System for providing easy access to the World Wide Web utilizing a published list of preselected Internet locations together with their unique multi-digit jump codes |
CN1202668C (zh) | 1996-09-11 | 2005-05-18 | 松下电器产业株式会社 | 即使在只接收部分节目的状态下也能开始执行该节目的节目接收执行装置及用于它的节目发送装置 |
US6173330B1 (en) * | 1996-09-17 | 2001-01-09 | Motorola, Inc. | Delivery and acquisition of data segments with optimized inter-arrival time |
JP3317156B2 (ja) | 1996-09-18 | 2002-08-26 | 三菱電機株式会社 | リモートplc装置を備えた数値制御装置 |
US6226665B1 (en) | 1996-09-19 | 2001-05-01 | Microsoft Corporation | Application execution environment for a small device with partial program loading by a resident operating system |
US6085186A (en) | 1996-09-20 | 2000-07-04 | Netbot, Inc. | Method and system using information written in a wrapper description language to execute query on a network |
US6028925A (en) * | 1996-09-23 | 2000-02-22 | Rockwell International Corp. | Telephonic switching system, telephonic switch and method for servicing telephone calls using virtual memory spaces |
US5818711A (en) | 1996-09-30 | 1998-10-06 | Allen Bradley Company, Llc | Method for visually determining the status of program edits in an on-line programming environment |
US5911043A (en) | 1996-10-01 | 1999-06-08 | Baker & Botts, L.L.P. | System and method for computer-based rating of information retrieved from a computer network |
US5956717A (en) | 1996-10-07 | 1999-09-21 | Kraay; Thomas A. | Database origami |
IL119486A0 (en) | 1996-10-24 | 1997-01-10 | Fortress U & T Ltd | Apparatus and methods for collecting value |
US6003095A (en) | 1996-10-31 | 1999-12-14 | International Business Machines Corporation | Apparatus and method for demand loading a dynamic link library |
US5923885A (en) | 1996-10-31 | 1999-07-13 | Sun Microsystems, Inc. | Acquisition and operation of remotely loaded software using applet modification of browser software |
US6167520A (en) | 1996-11-08 | 2000-12-26 | Finjan Software, Inc. | System and method for protecting a client during runtime from hostile downloadables |
US20020059402A1 (en) | 1996-11-15 | 2002-05-16 | Charles E. Belanger | Server-sided internet-based platform independent operating system and application suite |
US6347398B1 (en) | 1996-12-12 | 2002-02-12 | Microsoft Corporation | Automatic software downloading from a computer network |
US5953506A (en) | 1996-12-17 | 1999-09-14 | Adaptive Media Technologies | Method and apparatus that provides a scalable media delivery system |
US5963944A (en) | 1996-12-30 | 1999-10-05 | Intel Corporation | System and method for distributing and indexing computerized documents using independent agents |
US6099408A (en) | 1996-12-31 | 2000-08-08 | Walker Digital, Llc | Method and apparatus for securing electronic games |
US5949877A (en) | 1997-01-30 | 1999-09-07 | Intel Corporation | Content protection for transmission systems |
US6370571B1 (en) | 1997-03-05 | 2002-04-09 | At Home Corporation | System and method for delivering high-performance online multimedia services |
US6785865B1 (en) | 1997-03-06 | 2004-08-31 | Microsoft Corporation | Discoverability and navigation of hyperlinks via tabs |
IL120420A (en) | 1997-03-10 | 1999-12-31 | Security 7 Software Ltd | Method and system for preventing the downloading and execution of executable objects |
US5903721A (en) * | 1997-03-13 | 1999-05-11 | cha|Technologies Services, Inc. | Method and system for secure online transaction processing |
US6195694B1 (en) | 1997-03-13 | 2001-02-27 | International Business Machines Corporation | Server for reconfiguring control of a subset of devices on one or more kiosks |
US5925126A (en) | 1997-03-18 | 1999-07-20 | Memco Software, Ltd. | Method for security shield implementation in computer system's software |
US6278992B1 (en) | 1997-03-19 | 2001-08-21 | John Andrew Curtis | Search engine using indexing method for storing and retrieving data |
US5948065A (en) | 1997-03-28 | 1999-09-07 | International Business Machines Corporation | System for managing processor resources in a multisystem environment in order to provide smooth real-time data streams while enabling other types of applications to be processed concurrently |
US5812881A (en) | 1997-04-10 | 1998-09-22 | International Business Machines Corporation | Handshake minimizing serial to parallel bus interface in a data processing system |
US6108420A (en) | 1997-04-10 | 2000-08-22 | Channelware Inc. | Method and system for networked installation of uniquely customized, authenticable, and traceable software application |
US5895454A (en) * | 1997-04-17 | 1999-04-20 | Harrington; Juliette | Integrated interface for vendor/product oriented internet websites |
US6003065A (en) | 1997-04-24 | 1999-12-14 | Sun Microsystems, Inc. | Method and system for distributed processing of applications on host and peripheral devices |
US5892915A (en) * | 1997-04-25 | 1999-04-06 | Emc Corporation | System having client sending edit commands to server during transmission of continuous media from one clip in play list for editing the play list |
AU3123597A (en) | 1997-05-08 | 1998-11-27 | Pinnacle Technology, Inc. | Network desktop management security system and method |
US5961591A (en) | 1997-05-13 | 1999-10-05 | Microsoft Corporation | Downloading data while rejection of its use may be overridden |
US5961586A (en) | 1997-05-14 | 1999-10-05 | Citrix Systems, Inc. | System and method for remotely executing an interpretive language application |
US5987454A (en) | 1997-06-09 | 1999-11-16 | Hobbs; Allen | Method and apparatus for selectively augmenting retrieved text, numbers, maps, charts, still pictures and/or graphics, moving pictures and/or graphics and audio information from a network resource |
US5901315A (en) | 1997-06-13 | 1999-05-04 | International Business Machines Corporation | Method for debugging a Java application having native method dynamic load libraries |
US6453334B1 (en) | 1997-06-16 | 2002-09-17 | Streamtheory, Inc. | Method and apparatus to allow remotely located computer programs and/or data to be accessed on a local computer in a secure, time-limited manner, with persistent caching |
US5905990A (en) * | 1997-06-23 | 1999-05-18 | International Business Machines Corporation | File system viewpath mechanism |
CA2209549C (en) | 1997-07-02 | 2000-05-02 | Ibm Canada Limited-Ibm Canada Limitee | Method and apparatus for loading data into a database in a multiprocessor environment |
US5895471A (en) * | 1997-07-11 | 1999-04-20 | Unwired Planet, Inc. | Providing a directory of frequently used hyperlinks on a remote server |
US5933822A (en) | 1997-07-22 | 1999-08-03 | Microsoft Corporation | Apparatus and methods for an information retrieval system that employs natural language processing of search results to improve overall precision |
US5905868A (en) | 1997-07-22 | 1999-05-18 | Ncr Corporation | Client/server distribution of performance monitoring data |
US6076104A (en) * | 1997-09-04 | 2000-06-13 | Netscape Communications Corp. | Video data integration system using image data and associated hypertext links |
US5960411A (en) | 1997-09-12 | 1999-09-28 | Amazon.Com, Inc. | Method and system for placing a purchase order via a communications network |
US6101482A (en) | 1997-09-15 | 2000-08-08 | International Business Machines Corporation | Universal web shopping cart and method of on-line transaction processing |
US6192408B1 (en) * | 1997-09-26 | 2001-02-20 | Emc Corporation | Network file server sharing local caches of file access information in data processors assigned to respective file systems |
US6085193A (en) | 1997-09-29 | 2000-07-04 | International Business Machines Corporation | Method and system for dynamically prefetching information via a server hierarchy |
US6253234B1 (en) * | 1997-10-17 | 2001-06-26 | International Business Machines Corporation | Shared web page caching at browsers for an intranet |
US6192398B1 (en) * | 1997-10-17 | 2001-02-20 | International Business Machines Corporation | Remote/shared browser cache |
US6026166A (en) * | 1997-10-20 | 2000-02-15 | Cryptoworx Corporation | Digitally certifying a user identity and a computer system in combination |
US6594682B2 (en) * | 1997-10-28 | 2003-07-15 | Microsoft Corporation | Client-side system for scheduling delivery of web content and locally managing the web content |
US6219693B1 (en) * | 1997-11-04 | 2001-04-17 | Adaptec, Inc. | File array storage architecture having file system distributed across a data processing platform |
US6094649A (en) | 1997-12-22 | 2000-07-25 | Partnet, Inc. | Keyword searches of structured databases |
US6415373B1 (en) | 1997-12-24 | 2002-07-02 | Avid Technology, Inc. | Computer system and process for transferring multiple high bandwidth streams of data between multiple storage units and multiple applications in a scalable and reliable manner |
US6298356B1 (en) | 1998-01-16 | 2001-10-02 | Aspect Communications Corp. | Methods and apparatus for enabling dynamic resource collaboration |
US6385596B1 (en) | 1998-02-06 | 2002-05-07 | Liquid Audio, Inc. | Secure online music distribution system |
US6735631B1 (en) | 1998-02-10 | 2004-05-11 | Sprint Communications Company, L.P. | Method and system for networking redirecting |
US6601110B2 (en) | 1998-03-17 | 2003-07-29 | Sun Microsystems, Inc. | System and method for translating file-level operations in a non-door-based operating system to door invocations on a door server |
US6339826B2 (en) | 1998-05-05 | 2002-01-15 | International Business Machines Corp. | Client-server system for maintaining a user desktop consistent with server application user access permissions |
US6389541B1 (en) | 1998-05-15 | 2002-05-14 | First Union National Bank | Regulating access to digital content |
US6185608B1 (en) | 1998-06-12 | 2001-02-06 | International Business Machines Corporation | Caching dynamic web pages |
US6330561B1 (en) | 1998-06-26 | 2001-12-11 | At&T Corp. | Method and apparatus for improving end to end performance of a data network |
US6587857B1 (en) | 1998-06-30 | 2003-07-01 | Citicorp Development Center, Inc. | System and method for warehousing and retrieving data |
EP1097550A4 (en) | 1998-07-16 | 2005-11-09 | Francis Lambert | METHOD FOR THE SAFE TRANSFER AND STORAGE OF DATA |
US6154878A (en) | 1998-07-21 | 2000-11-28 | Hewlett-Packard Company | System and method for on-line replacement of software |
US6418555B2 (en) | 1998-07-21 | 2002-07-09 | Intel Corporation | Automatic upgrade of software |
US20010037400A1 (en) | 1998-07-22 | 2001-11-01 | Uri Raz | Method and system for decreasing the user-perceived system response time in web-based systems |
US20010044850A1 (en) | 1998-07-22 | 2001-11-22 | Uri Raz | Method and apparatus for determining the order of streaming modules |
US20020138640A1 (en) | 1998-07-22 | 2002-09-26 | Uri Raz | Apparatus and method for improving the delivery of software applications and associated data in web-based systems |
US6574618B2 (en) | 1998-07-22 | 2003-06-03 | Appstream, Inc. | Method and system for executing network streamed application |
US7197570B2 (en) | 1998-07-22 | 2007-03-27 | Appstream Inc. | System and method to send predicted application streamlets to a client device |
US6311221B1 (en) | 1998-07-22 | 2001-10-30 | Appstream Inc. | Streaming modules |
US20020057893A1 (en) * | 1998-08-11 | 2002-05-16 | Anthony Wood | Digital recording and playback |
US6611812B2 (en) | 1998-08-13 | 2003-08-26 | International Business Machines Corporation | Secure electronic content distribution on CDS and DVDs |
US6425017B1 (en) | 1998-08-17 | 2002-07-23 | Microsoft Corporation | Queued method invocations on distributed component applications |
US6697869B1 (en) * | 1998-08-24 | 2004-02-24 | Koninklijke Philips Electronics N.V. | Emulation of streaming over the internet in a broadcast application |
US6510462B2 (en) | 1998-09-01 | 2003-01-21 | Nielsen Media Research, Inc. | Collection of images in Web use reporting system |
US6356946B1 (en) * | 1998-09-02 | 2002-03-12 | Sybase Inc. | System and method for serializing Java objects in a tubular data stream |
US6622171B2 (en) | 1998-09-15 | 2003-09-16 | Microsoft Corporation | Multimedia timeline modification in networked client/server systems |
US6816909B1 (en) | 1998-09-16 | 2004-11-09 | International Business Machines Corporation | Streaming media player with synchronous events from multiple sources |
US6418554B1 (en) | 1998-09-21 | 2002-07-09 | Microsoft Corporation | Software implementation installer mechanism |
US6370686B1 (en) | 1998-09-21 | 2002-04-09 | Microsoft Corporation | Method for categorizing and installing selected software components |
US6836794B1 (en) | 1998-09-21 | 2004-12-28 | Microsoft Corporation | Method and system for assigning and publishing applications |
US6201685B1 (en) * | 1998-10-05 | 2001-03-13 | General Electric Company | Ultracapacitor current collector |
US20010014878A1 (en) | 1998-11-09 | 2001-08-16 | Nilotpal Mitra | Transaction method and apparatus |
US6266665B1 (en) * | 1998-11-13 | 2001-07-24 | Microsoft Corporation | Indexing and searching across multiple sorted arrays |
US6374402B1 (en) | 1998-11-16 | 2002-04-16 | Into Networks, Inc. | Method and apparatus for installation abstraction in a secure content delivery system |
US7225264B2 (en) | 1998-11-16 | 2007-05-29 | Softricity, Inc. | Systems and methods for delivering content over a computer network |
US6763370B1 (en) | 1998-11-16 | 2004-07-13 | Softricity, Inc. | Method and apparatus for content protection in a secure content delivery system |
US20020002513A1 (en) | 1998-11-25 | 2002-01-03 | James P. Chiasson | Computer network transaction system |
JP2002530782A (ja) | 1998-11-25 | 2002-09-17 | インフォ・アベニュー株式会社 | ユニバーサル・ショッピング・カート・システム |
CA2291920A1 (en) | 1998-12-11 | 2000-06-11 | Karuna Ganesan | Technique for conducting secure transactions over a network |
US6510466B1 (en) | 1998-12-14 | 2003-01-21 | International Business Machines Corporation | Methods, systems and computer program products for centralized management of application programs on a network |
JP2000183786A (ja) * | 1998-12-15 | 2000-06-30 | Nec Fukushima Ltd | ホットスタンバイ切替装置 |
US6584507B1 (en) | 1999-03-02 | 2003-06-24 | Cisco Technology, Inc. | Linking external applications to a network management system |
US7130616B2 (en) * | 2000-04-25 | 2006-10-31 | Simple Devices | System and method for providing content, management, and interactivity for client devices |
WO2000056028A1 (en) | 1999-03-15 | 2000-09-21 | Texar Software Corp. | A secure network |
US6212640B1 (en) | 1999-03-25 | 2001-04-03 | Sun Microsystems, Inc. | Resources sharing on the internet via the HTTP |
US6775779B1 (en) | 1999-04-06 | 2004-08-10 | Microsoft Corporation | Hierarchical trusted code for content protection in computers |
US7370071B2 (en) | 2000-03-17 | 2008-05-06 | Microsoft Corporation | Method for serving third party software applications from servers to client computers |
US6938096B1 (en) | 1999-04-12 | 2005-08-30 | Softricity, Inc. | Method and system for remote networking using port proxying by detecting if the designated port on a client computer is blocked, then encapsulating the communications in a different format and redirecting to an open port |
US6343287B1 (en) | 1999-05-19 | 2002-01-29 | Sun Microsystems, Inc. | External data store link for a profile service |
US6266094B1 (en) * | 1999-06-14 | 2001-07-24 | Medialink Worldwide Incorporated | Method and apparatus for the aggregation and selective retrieval of television closed caption word content originating from multiple geographic locations |
US6508709B1 (en) * | 1999-06-18 | 2003-01-21 | Jayant S. Karmarkar | Virtual distributed multimedia gaming method and system based on actual regulated casino games |
US6275470B1 (en) | 1999-06-18 | 2001-08-14 | Digital Island, Inc. | On-demand overlay routing for computer-based communication networks |
US6832222B1 (en) | 1999-06-24 | 2004-12-14 | International Business Machines Corporation | Technique for ensuring authorized access to the content of dynamic web pages stored in a system cache |
US6385696B1 (en) * | 1999-06-25 | 2002-05-07 | Intel Corporation | Embedded cache with way size bigger than page size |
US6636961B1 (en) | 1999-07-09 | 2003-10-21 | International Business Machines Corporation | System and method for configuring personal systems |
US6510458B1 (en) | 1999-07-15 | 2003-01-21 | International Business Machines Corporation | Blocking saves to web browser cache based on content rating |
US6801507B1 (en) | 1999-07-27 | 2004-10-05 | Samsung Electronics Co., Ltd. | Device discovery and configuration in a home network |
US6810525B1 (en) | 1999-08-17 | 2004-10-26 | General Instrument Corporation | Impulse pay per use method and system for data and multimedia services |
US6687745B1 (en) * | 1999-09-14 | 2004-02-03 | Droplet, Inc | System and method for delivering a graphical user interface of remote applications over a thin bandwidth connection |
WO2001027805A2 (en) | 1999-10-14 | 2001-04-19 | 360 Powered Corporation | Index cards on network hosts for searching, rating, and ranking |
EP1107108A1 (en) | 1999-12-09 | 2001-06-13 | Hewlett-Packard Company, A Delaware Corporation | System and method for managing the configuration of hierarchically networked data processing devices |
US6711619B1 (en) * | 1999-12-15 | 2004-03-23 | Hewlett-Packard Development Company, L.P. | Method, system, and apparatus for distributing and using computer-based applications over a network |
AUPQ475799A0 (en) | 1999-12-20 | 2000-01-20 | Youramigo Pty Ltd | An internet indexing system and method |
US6854009B1 (en) * | 1999-12-22 | 2005-02-08 | Tacit Networks, Inc. | Networked computer system |
US6389467B1 (en) | 2000-01-24 | 2002-05-14 | Friskit, Inc. | Streaming media search and continuous playback system of media resources located by multiple network addresses |
US7159233B2 (en) * | 2000-01-28 | 2007-01-02 | Sedna Patent Services, Llc | Method and apparatus for preprocessing and postprocessing content in an interactive information distribution system |
US6757708B1 (en) | 2000-03-03 | 2004-06-29 | International Business Machines Corporation | Caching dynamic content |
US6779179B1 (en) | 2000-03-20 | 2004-08-17 | Exent Technologies, Inc. | Registry emulation |
US6772209B1 (en) | 2000-04-06 | 2004-08-03 | International Business Machines Corporation | Efficient method for rule-based distribution and management of content in a distributed hierarchy of storage devices |
EP1143349A1 (en) | 2000-04-07 | 2001-10-10 | IconParc GmbH | Method and apparatus for generating index data for search engines |
WO2001084336A1 (en) | 2000-04-28 | 2001-11-08 | Live365, Inc. | System and method for reducing the resources required to deliver streaming media |
EP1154298A1 (en) * | 2000-05-09 | 2001-11-14 | Alcatel | Arrangement consisting of a photodiode and an optical fiber |
AU2001264989A1 (en) | 2000-05-25 | 2001-12-03 | Exent Technologies, Inc. | Disk caching |
US6925495B2 (en) | 2000-07-13 | 2005-08-02 | Vendaria Media, Inc. | Method and system for delivering and monitoring an on-demand playlist over a network using a template |
US6622137B1 (en) | 2000-08-14 | 2003-09-16 | Formula Telecom Solutions Ltd. | System and method for business decision implementation in a billing environment using decision operation trees |
US7249314B2 (en) | 2000-08-21 | 2007-07-24 | Thoughtslinger Corporation | Simultaneous multi-user document editing system |
US20020087717A1 (en) * | 2000-09-26 | 2002-07-04 | Itzik Artzi | Network streaming of multi-application program code |
US6757894B2 (en) | 2000-09-26 | 2004-06-29 | Appstream, Inc. | Preprocessed applications suitable for network streaming applications and method for producing same |
US6970939B2 (en) | 2000-10-26 | 2005-11-29 | Intel Corporation | Method and apparatus for large payload distribution in a network |
ATE381191T1 (de) | 2000-10-26 | 2007-12-15 | Prismedia Networks Inc | Verfahren und system zur verwaltung von verteilten inhalten und entsprechenden metadaten |
US6694510B1 (en) * | 2000-11-03 | 2004-02-17 | Hewlett-Packard Development Company, L.P. | Collection driver for collecting system data using record based requests with tag lists and pausing all but one thread of a computer system |
US6959320B2 (en) | 2000-11-06 | 2005-10-25 | Endeavors Technology, Inc. | Client-side performance optimization system for streamed applications |
US7062567B2 (en) | 2000-11-06 | 2006-06-13 | Endeavors Technology, Inc. | Intelligent network streaming and execution system for conventionally coded applications |
US20020087883A1 (en) | 2000-11-06 | 2002-07-04 | Curt Wohlgemuth | Anti-piracy system for remotely served computer applications |
US8831995B2 (en) * | 2000-11-06 | 2014-09-09 | Numecent Holdings, Inc. | Optimized server for streamed applications |
US20020083183A1 (en) | 2000-11-06 | 2002-06-27 | Sanjay Pujare | Conventionally coded application conversion system for streamed delivery and execution |
US7043524B2 (en) | 2000-11-06 | 2006-05-09 | Omnishift Technologies, Inc. | Network caching system for streamed applications |
US6918113B2 (en) | 2000-11-06 | 2005-07-12 | Endeavors Technology, Inc. | Client installation and execution system for streamed applications |
AU2002217872A1 (en) | 2000-11-28 | 2002-06-11 | Endeavors Technology, Inc. | Systems and methods for ordering products over a network |
US7451196B1 (en) | 2000-12-15 | 2008-11-11 | Stream Theory, Inc. | Method and system for executing a software application in a virtual environment |
US20020078170A1 (en) | 2000-12-15 | 2002-06-20 | International Business Machines Corporation | Method and system for minimizing network bandwidth bottlenecks |
US20070198739A1 (en) * | 2001-01-19 | 2007-08-23 | Streamworks Technologies, Inc. | System and method for routing media |
US7028305B2 (en) * | 2001-05-16 | 2006-04-11 | Softricity, Inc. | Operating system abstraction and protection layer |
US7112138B2 (en) * | 2001-08-03 | 2006-09-26 | Igt | Player tracking communication mechanisms in a gaming machine |
GB2378535A (en) * | 2001-08-06 | 2003-02-12 | Ibm | Method and apparatus for suspending a software virtual machine |
US20030105816A1 (en) | 2001-08-20 | 2003-06-05 | Dinkar Goswami | System and method for real-time multi-directional file-based data streaming editor |
US6816950B2 (en) | 2002-05-08 | 2004-11-09 | Lsi Logic Corporation | Method and apparatus for upgrading disk drive firmware in a RAID storage system |
US6970866B1 (en) | 2002-05-31 | 2005-11-29 | Adobe Systems Incorporated | Filter file system |
US7197516B1 (en) * | 2002-07-22 | 2007-03-27 | Veritas Operating Corporation | Method and system for an overlay filesystem |
US20040036722A1 (en) | 2002-08-26 | 2004-02-26 | Peter Warren | Configurable type-over text box prompt |
US20040128342A1 (en) | 2002-12-31 | 2004-07-01 | International Business Machines Corporation | System and method for providing multi-modal interactive streaming media applications |
US20040133657A1 (en) * | 2003-01-03 | 2004-07-08 | Broadq, Llc | Digital media system and method therefor |
US8671132B2 (en) | 2003-03-14 | 2014-03-11 | International Business Machines Corporation | System, method, and apparatus for policy-based data management |
US8612992B2 (en) * | 2003-04-09 | 2013-12-17 | Jaluna Sa | Operating systems |
US20040230784A1 (en) | 2003-05-12 | 2004-11-18 | Cohen Eugene M. | Concurrent program loading and execution |
US7735057B2 (en) | 2003-05-16 | 2010-06-08 | Symantec Corporation | Method and apparatus for packaging and streaming installation software |
US7197515B2 (en) | 2003-06-30 | 2007-03-27 | Microsoft Corporation | Declarative solution definition |
US8001187B2 (en) * | 2003-07-01 | 2011-08-16 | Apple Inc. | Peer-to-peer active content sharing |
US7277901B2 (en) * | 2003-07-10 | 2007-10-02 | Tacit Networks, Inc. | Collaborative file update system |
US6891740B2 (en) | 2003-08-29 | 2005-05-10 | Hitachi Global Storage Technologies Netherlands B.V. | Method for speculative streaming data from a disk drive |
WO2005036367A2 (en) * | 2003-10-08 | 2005-04-21 | Unisys Corporation | Virtual data center that allocates and manages system resources across multiple nodes |
US7945648B2 (en) * | 2003-10-27 | 2011-05-17 | Hewlett-Packard Development Company, L.P. | Methods and systems for dynamically configuring a network component to reroute media streams |
US7533370B2 (en) * | 2003-10-28 | 2009-05-12 | Exent Technologies, Ltd. | Security features in on-line and off-line delivery of applications |
US7908339B2 (en) * | 2004-06-03 | 2011-03-15 | Maxsp Corporation | Transaction based virtual file system optimized for high-latency network connections |
US20060010074A1 (en) | 2004-07-09 | 2006-01-12 | Zeitsiff Adam M | Delivery and storage system for secured content library |
US20060048136A1 (en) | 2004-08-25 | 2006-03-02 | Vries Jeff D | Interception-based resource detection system |
US20070038642A1 (en) | 2004-09-15 | 2007-02-15 | Scott Durgin | Method for providing extensible software components within a distributed synchronization system |
US7240162B2 (en) | 2004-10-22 | 2007-07-03 | Stream Theory, Inc. | System and method for predictive streaming |
JP2008527468A (ja) | 2004-11-13 | 2008-07-24 | ストリーム セオリー,インコーポレイテッド | ハイブリッド・ローカル/リモート・ストリーミング |
TW200644550A (en) | 2004-11-15 | 2006-12-16 | Stream Theory Inc | Hybrid local/remote streaming |
US20060136389A1 (en) | 2004-12-22 | 2006-06-22 | Cover Clay H | System and method for invocation of streaming application |
US9716609B2 (en) | 2005-03-23 | 2017-07-25 | Numecent Holdings, Inc. | System and method for tracking changes to files in streaming applications |
US20060218165A1 (en) | 2005-03-23 | 2006-09-28 | Vries Jeffrey De | Explicit overlay integration rules |
US7844442B2 (en) * | 2005-08-16 | 2010-11-30 | Exent Technologies, Ltd. | System and method for providing a remote user interface for an application executing on a computing device |
US20070129990A1 (en) | 2005-12-01 | 2007-06-07 | Exent Technologies, Ltd. | System, method and computer program product for dynamically serving advertisements in an executing computer game based on the entity having jurisdiction over the advertising space in the game |
US7596536B2 (en) | 2005-12-01 | 2009-09-29 | Exent Technologies, Ltd. | System, method and computer program product for dynamically measuring properties of objects rendered and/or referenced by an application executing on a computing device |
US7596540B2 (en) | 2005-12-01 | 2009-09-29 | Exent Technologies, Ltd. | System, method and computer program product for dynamically enhancing an application executing on a computing device |
US20070168309A1 (en) | 2005-12-01 | 2007-07-19 | Exent Technologies, Ltd. | System, method and computer program product for dynamically extracting and sharing event information from an executing software application |
US8629885B2 (en) | 2005-12-01 | 2014-01-14 | Exent Technologies, Ltd. | System, method and computer program product for dynamically identifying, selecting and extracting graphical and media objects in frames or scenes rendered by a software application |
US20080294453A1 (en) * | 2007-05-24 | 2008-11-27 | La La Media, Inc. | Network Based Digital Rights Management System |
-
2005
- 2005-11-14 JP JP2007541374A patent/JP2008527468A/ja not_active Withdrawn
- 2005-11-14 EP EP05851570A patent/EP1825390A2/en not_active Withdrawn
- 2005-11-14 US US11/274,442 patent/US20060168294A1/en not_active Abandoned
- 2005-11-14 WO PCT/US2005/041024 patent/WO2006055445A2/en active Application Filing
- 2005-11-14 US US11/273,862 patent/US8359591B2/en active Active
-
2012
- 2012-11-26 US US13/685,445 patent/US8949820B2/en active Active
-
2015
- 2015-01-23 US US14/604,513 patent/US20150143351A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US8949820B2 (en) | 2015-02-03 |
US8359591B2 (en) | 2013-01-22 |
US20130081009A1 (en) | 2013-03-28 |
EP1825390A2 (en) | 2007-08-29 |
US20060123185A1 (en) | 2006-06-08 |
WO2006055445A2 (en) | 2006-05-26 |
US20060168294A1 (en) | 2006-07-27 |
US20150143351A1 (en) | 2015-05-21 |
WO2006055445A3 (en) | 2007-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2008527468A (ja) | ハイブリッド・ローカル/リモート・ストリーミング | |
US8438298B2 (en) | Intelligent network streaming and execution system for conventionally coded applications | |
US6959320B2 (en) | Client-side performance optimization system for streamed applications | |
KR101238572B1 (ko) | 신뢰 환경을 지원하기 위한 컴퓨터 판독가능 구성요소의자동 업데이트 | |
US6918113B2 (en) | Client installation and execution system for streamed applications | |
US7096253B2 (en) | Method and apparatus for streaming software | |
US8831995B2 (en) | Optimized server for streamed applications | |
US7043524B2 (en) | Network caching system for streamed applications | |
US20020083183A1 (en) | Conventionally coded application conversion system for streamed delivery and execution | |
US20020087883A1 (en) | Anti-piracy system for remotely served computer applications | |
US7650492B2 (en) | Automatic update of computer-readable components to support a trusted environment | |
JP2009544072A (ja) | アプライアンスの仮想化のための方法と装置 | |
JP2013516923A (ja) | メディア再生デバイスのためのリアルタイムのフラッシュベースのユーザインターフェース | |
US8161383B2 (en) | Information processing apparatus and information processing method | |
Marinilli | Java deployment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20090203 |