JP2005052643A - モバイル装置用トランスポート独立型ゲームapiのためのシステムおよび方法 - Google Patents

モバイル装置用トランスポート独立型ゲームapiのためのシステムおよび方法 Download PDF

Info

Publication number
JP2005052643A
JP2005052643A JP2004222291A JP2004222291A JP2005052643A JP 2005052643 A JP2005052643 A JP 2005052643A JP 2004222291 A JP2004222291 A JP 2004222291A JP 2004222291 A JP2004222291 A JP 2004222291A JP 2005052643 A JP2005052643 A JP 2005052643A
Authority
JP
Japan
Prior art keywords
mobile device
transport protocol
game
computer
data
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.)
Granted
Application number
JP2004222291A
Other languages
English (en)
Other versions
JP4878741B2 (ja
Inventor
Chee H Chew
チー エイチ. チュー
Joel P Dehlin
ジョエル ピー. デリン
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.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2005052643A publication Critical patent/JP2005052643A/ja
Application granted granted Critical
Publication of JP4878741B2 publication Critical patent/JP4878741B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/77Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/31Communication aspects specific to video games, e.g. between several handheld game devices at close range
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
    • A63F13/332Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using wireless networks, e.g. cellular phone networks
    • 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/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/79Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features 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/20Features 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/204Features 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 the platform being a handheld device
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features 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/40Features 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 platform network
    • A63F2300/402Communication between platforms, i.e. physical link to protocol
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features 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/40Features 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 platform network
    • A63F2300/406Transmission via wireless network, e.g. pager or GSM

Abstract

【課題】 モバイル装置用トランスポート独立型ゲームAPIのためのシステムおよび方法を提供する。
【解決手段】 本発明のゲームAPIは、モバイル装置の間のマルチプレーヤによるゲームセッションを可能にし、このセッションにおいて、モバイル装置の間のトランスポートプロトコルは、ユーザおよびゲームアプリケーション両方に対して透過的に切り換えることができる。ゲームAPIは、どのトランスポートプロトコルが、指定されたパラメータに従ってゲームデータ伝送用の最適プロトコルとして決定されるかによって、切り換えられる。
【選択図】 図4

Description

本発明は、モバイル装置用のトランスポート独立型ゲームAPI(アプリケーションプログラムインターフェイス)のためのシステムおよび方法を対象とする。
ポケットPC、携帯電話、携帯情報端末などのモバイル装置は、各装置が、他の装置によって提供されるサービス空間に同化して、機能性を増し続けている。ユーザは、こうしたモバイル装置のどの1つにおいても実行することができる機能および作業を選択することができる。音声データの処理、ポータブルコンピューティング、およびデータ管理の他、こうしたモバイル装置は、様々なアプリケーション、たとえばeメール、ウェブブラウザ、ノートおよび文書処理アプリケーション、ゲームなどをサポートすることができる。
こうしたモバイル装置用のトランスポートプロトコルの多様性が増しているので、こうしたアプリケーションはそれぞれ、さらなる機能性を取り入れることができる。一例では、モバイル装置のユーザが、別のモバイル装置を使っている対戦相手とゲームを行うことを可能にする、モバイル装置上のある種のゲームが登場した。あるゲームは、eメールを使って、またはショートメッセージサービス(SMS)を使って、モバイル装置のユーザの間でプレイすることができ、さらに別のゲームは、赤外線接続、またはおそらく有線接続を介してプレイすることができる。モバイル装置用のトランスポートプロトコルの多様性が増すのに伴い、モバイル装置上で行われるゲームの多様性も増す。
本発明は、モバイル装置用のトランスポート独立型ゲームAPI(アプリケーションプログラムインターフェイス)のためのシステムおよび方法を対象とする。このゲームAPIは、モバイル装置の間のマルチプレーヤによるゲームセッションを可能にし、このセッションにおいて、モバイル装置の間のトランスポートプロトコルは、ユーザおよびゲームアプリケーション両方に対して透過的に切り換えることができる。
本発明の一態様では、ゲーム開発者は、モバイル装置上で使うためのトランスポート独立型ゲームを書くことができ、こうしたゲームによって、開発者は、存在し得る各トランスポートプロトコルについてネットワーク層を書かなくてよく、ゲーム論理、データ、およびユーザインターフェイスに集中できるようになる。このゲームAPIにより、ゲームアプリケーションは、ゲームに影響を与えることなく、モバイル装置間でゲームデータを伝送するために複数の伝送プロトコルを切り換えることができるようになる。
本発明の別の態様では、ゲームセッションは、モバイル装置間にアドレス指定情報を提供することによって開始される。一実施形態では、初期プロトコルが選択され、アドレス情報、ならびにゲームのクラスおよびインスタンスを、ゲームセッションに参加している他のモバイル装置に移送(transport)する。
本発明のさらに別の態様では、どのトランスポートプロトコルが最適プロトコルであるか、判定が行われる。たとえば、ゲームセッションは、eメールを使って開始されている場合があるが、ゲームAPIは、別のトランスポートプロトコルを使うとデータ伝送がより最適なものになると判定する。最適プロトコルは、選択可能なパラメータの組に従って決定される。このパラメータの組は、どのトランスポートプロトコルがすぐに使用可能であるか、どのトランスポートプロトコルが最速のデータ転送速度を可能にするか、どのトランスポートプロトコルが最も費用効率が高いか、などを含むことができる。こうしたパラメータは、客観的評価処理による重要性に従って評価することも、ユーザによって重要性に合わせて評価することもできる。
本発明のさらに別の態様では、各トランスポートプロトコルが監視され、トランスポートプロトコルを介して新しいゲームデータが受信されると、ゲームサブシステムが通知を受ける。ゲームサブシステムは次いで、新しいデータ、およびどこに新しいデータがあるかを、ゲームに通知する。ゲームは次いで、さらなるゲームプレイのために新しいデータを取り出す。
簡潔に述べると、本発明は、ゲームアプリケーションが、モバイル装置間でゲームデータを伝送するために複数の伝送プロトコルを切り換えることを可能にする、トランスポート独立型ゲームAPI(アプリケーションプログラムインターフェイス)を対象とする。ゲーム開発者は、モバイル装置上で使うためのトランスポート独立型ゲームを書くことができ、こうしたゲームによって、開発者は、存在し得る各トランスポートプロトコルについてネットワーク層を書かなくてよく、ゲーム論理、データ、およびユーザインターフェイスに集中できるようになる。本発明のこうしたおよび他の態様は、以下の詳細な説明を読むことにより、当業者に明らかになるであろう。
例示的な動作環境
図1を参照すると、本発明を実施する例示的な一システムは、モバイル装置として動作するように構成することができるコンピューティングデバイス、たとえばコンピューティングデバイス100を含む。ごく基本的な構成において、コンピューティングデバイス100は通常、少なくとも1つの処理装置102およびシステムメモリ104を含む。コンピューティングデバイスの正確な構成およびタイプによると、システムメモリ104は、揮発性(たとえばRAM)でも、不揮発性(たとえばROM、フラッシュメモリなど)でも、この2つの何らかの組合せでもよい。システムメモリ104は通常、オペレーティングシステム105、1つまたは複数のプログラムモジュール106を含み、プログラムデータ107を含むことができる。この基本構成を、破線108内の構成要素によって図1に示す。
コンピューティングデバイス100は、追加の特徴または機能性を有することができる。たとえば、コンピューティングデバイス100は、追加のデータ記憶装置(取外し可能および/または固定型)、たとえば磁気ディスク、光ディスク、またはテープなどを含むこともできる。このような追加の記憶装置を、図1に取外し可能記憶装置109および固定型記憶装置110で示す。コンピュータ記憶媒体は、コンピュータ読取可能命令、データ構造、プログラムモジュール、または他のデータなどの情報を記憶するための任意の方法または技術で実施される揮発性媒体および不揮発性媒体、取外し可能媒体および固定型媒体を含むことができる。システムメモリ104、取外し可能記憶装置109および固定型記憶装置110はすべて、コンピュータ記憶媒体の例である。コンピュータ記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリまたは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)または他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶装置、あるいは、所望の情報を記憶するのに使うことができるとともにコンピューティングデバイス100によってアクセスすることができる他のどの媒体も含むが、それに限定されない。このようなどのコンピュータ記憶媒体も、装置100の一部でよい。コンピューティングデバイス100は、入力装置(群)112、たとえばキーボード、マウス、ペン、音声入力装置、タッチ式入力装置なども有することができる。出力装置(群)114、たとえばディスプレイ、スピーカ、プリンタなどを含めることもできる。これらの装置は、当該分野において公知であり、ここで詳細に説明する必要はない。
コンピューティングデバイス100は、たとえばネットワークを介して装置が他のコンピューティングデバイス118と通信することを可能にする通信接続116を含むこともできる。通信接続116は、通信媒体の一例である。通信媒体は一般に、コンピュータ読取可能命令、データ構造、プログラムモジュール、または他のデータによって、被変調データ信号、たとえば搬送波や他の移送機構として具体化することができ、どの情報配信媒体も含む。「被変調データ信号」という用語は、信号に情報を符号化するようにその特性の1つまたは複数が設定されまたは変更された信号を意味する。限定ではなく例として、通信媒体は、有線ネットワークや直接有線接続などの有線媒体、ならびに音響、RF、赤外線、および他の無線媒体などの無線媒体を含む。本明細書で使用するコンピュータ読取可能媒体という用語は、記憶媒体および通信媒体両方を含む。
図2を参照すると、本発明を実施する例示的な一システムは、モバイル装置として構成されるコンピューティングデバイス、たとえばモバイル装置200を含む。モバイル装置200は、プロセッサ260、メモリ262、ディスプレイ228、およびキーパッド232を有する。メモリ262は一般に、揮発性メモリ(たとえばRAM)および不揮発性メモリ(たとえばROM、フラッシュメモリなど)両方を含む。モバイル装置200は、オペレーティングシステム264、たとえばマイクロソフトコーポレーションのウィンドウズ(登録商標)CEオペレーティングシステムや他のオペレーティングシステムを含み、オペレーティングシステム264は、メモリ262に常駐し、プロセッサ260上で実行される。キーパッド232は、(たとえば一般的な電話の)押しボタン式の数字ダイアルパッド、複数キーによるキーボード(たとえば従来のキーボード)でよい。ディスプレイ228は、液晶ディスプレイでも、一般にモバイル装置において使われる他のどのタイプのディスプレイでもよい。ディスプレイ228は、タッチセンサ型でもよく、そうである場合は入力装置としても働く。周辺装置ポート230は、追加メモリカード、ゲームカード、モデムカード、または他の周辺装置を受け入れるタイプのものでよい。
1つまたは複数のアプリケーションプログラム266が、メモリ262にロードされ、オペレーティングシステム264上で実行される。アプリケーションプログラムの例には、ゲームプログラム、電話ダイアラプログラム、インストールウィザードプログラム、eメールプログラム、スケジューリングプログラム、PIM(個人情報管理)プログラム、文書処理プログラム、表計算プログラム、インターネットブラウザプログラム、データスケーリングプログラムなどがある。モバイル装置200は、メモリ262内に不揮発性記憶装置268も含む。不揮発性記憶装置268は、モバイル装置200の電源が切られても失われるべきでない永続情報を格納するのに使うことができる。アプリケーション266は、たとえばeメールアプリケーションによって使われるeメールや他のメッセージ、PIMによって使われる連絡先情報、スケジューリングプログラムによって使われる予定情報、文書処理プログラムによって使われる文書、デバイスドライバプログラムなどの情報を使うことができ、そうした情報を記憶装置268に格納することができる。
モバイル装置200は、1つまたは複数のバッテリとして実装することができる電源270を有する。電源270は、バッテリに電力を補給し、すなわちバッテリを充電する、ACアダプタや電力供給用ドッキングクレードル(powered docking cradle)などの外部電力源をさらに含む可能性がある。
モバイル装置200は、2つのタイプの外部通知機構、すなわちLED240およびオーディオインターフェイス274も有して示してある。これらの装置は、アクティブにされると、プロセッサ260および他の構成要素がバッテリの電力を節約するためにシャットダウンされた場合でも、通知機構によって指示された期間はオン状態であるように、電源270に直接結合することができる。LED240は、ユーザが装置の電源オンの状況を指示する動作をとるまでは、オン状態を無期限に続けるようにプログラミングすることができる。オーディオインターフェイス274は、ユーザに可聴信号を提供し、ユーザから可聴信号を受信するのに使われる。たとえば、オーディオインターフェイス274は、可聴出力を提供するスピーカ、および可聴入力を受信するマイクロホンに結合することができ、電話での会話などを容易にする。
モバイル装置200は、無線周波数通信の送受信機能を実施する無線インターフェイス層272も含む。無線インターフェイス層272は、モバイル装置200と外部との間の、通信キャリアまたはサービスプロバイダを介した無線接続を容易にする。無線インターフェイス層272との間の伝送は、オペレーティングシステム264の制御下で行われる。言い換えると、無線インターフェイス層272によって受信される通信内容は、オペレーティングシステム264を介してアプリケーションプログラム266に、かつそれとは逆方向に配布することができる。
ゲームAPIおよび移送処理
図3は、本発明による、ゲームAPI(アプリケーションプログラムインターフェイス)用のインターフェイスを全体的に示す機能ブロック図である。図に示すように、ゲームAPI304は、ゲームアプリケーション302と、たとえばeメール310、SMS311、赤外線312、TCP/IP313、ブルートゥース314など、様々なトランスポートプロトコルとの間のネットワーク層または接続ポイントを提供する。一実施形態では、ゲームAPI304は、Winsock(ウィンドウズ(登録商標)ソケット)APIによって提供される機能を含む。Winsockとは、他のウィンドウズ(登録商標)アプリケーションソフトウェアとTCP/IPプロトコルソフトウェアとの間のネットワーク層を提供する標準APIである。
さらに、ゲームAPI304は、トランスポートプロトコル自体よりもむしろ、トランスポートプロトコルのシェル(たとえば310)に接続を提供することができる。各トランスポートプロトコルは、実際の移送機能を提供する接続シェルの外で提供される、異なるスレッドまたはプロトコルを有することができる。たとえば、eメールトランスポートプロトコル310は、それに既に含まれているeメールメッセージの送受信機能を使って、ゲームデータの移送を実現する。このeメール送受信機能は、ゲームデータを移送する以上のために提供され、したがって、ゲームに直接関わるプロトコルの外側にある。eメールプロトコルは、eメールプロトコルによって受信されるメッセージ中のゲームデータをみつけるフックを提供する。ゲームデータがみつかると、そのゲームデータは、ゲームAPIへの接続を可能にするeメールプロトコルシェルまたはプロキシ(たとえば310)に転送される。一実施形態では、プロトコルシェル(たとえば310)は、ゲームデータがゲームアプリケーション302によって取り出される前にゲームデータを一時的に格納するメモリファイルである。
一実施形態では、ゲームサブシステム306は、ゲームアプリケーション302用の通知システムとして動作する。ゲームデータがトランスポートプロトコルまたはトランスポートプロトコルシェルの1つ(たとえば310)によって受信されると、トランスポートシェルは、ゲームサブシステム306に通知を行う。トランスポートプロトコルまたはトランスポートシェルはそれぞれ、ゲームデータが受信されると、ゲームサブシステム306に通知を行う。ゲームサブシステム306は次いで、ゲームアプリケーション302に、ゲームデータが受信されたこと、およびゲームデータの位置を通知する。したがって、ゲームサブシステム306は、ゲームデータを移送するのにトランスポートプロトコルのどれが使われたかにかかわらず、一貫したプロトコルに従って、ゲームにゲームデータを通知する通知システムとして動作する。
図4は、本発明による、例示的なゲームデータ移送処理を示す論理フロー図である。処理400は、開始ブロック402で始まり、ブロック402で、モバイル装置の電源が入れられ、マルチプレーヤ(すなわち、複数のプレーヤ)用ゲームアプリケーションが、ユーザによってアクティブにされている。処理400は、ブロック404へ続く。
ブロック404で、モバイル装置と、少なくとも1つの他のモバイル装置またはコンピューティングデバイスとの間で、ゲームセッションが開始される。一実施形態では、セッション用のデータは、あるモバイル装置と別のモバイル装置との間の伝送用パケットに編成される。別の実施形態では、あるモバイル装置と別のモバイル装置の間でデータを伝送するためにソケットが確立される。セッションを開始するために、使用可能なプロトコルの1つが選択されて、モバイル装置の間のセッションを確立する。ゲームセッションを開始する例示的な処理は、以下の図5の説明で述べる。ゲームセッションが開始されている場合、処理は判断ブロック406に進む。
判断ブロック406で、どのトランスポートプロトコルが最適プロトコルであるか、判定が行われる。たとえば、ゲームセッションは、eメールを使って開始されている場合があるが、ゲームセッションが確立されている複数のモバイル装置が、互いのすぐ近くにある。ブルートゥースも、各モバイル装置のアドレス情報に従って選択可能なプロトコルとして、ゲームセッションにおけるすべてのモバイル装置上で使用可能である。ゲームAPIは、選択可能なパラメータの組に従って、ブルートゥースプロトコルを使うとデータ伝送がより最適なものになると判定する。このパラメータの組は、どのトランスポートプロトコルがすぐに使用可能であるか、どのトランスポートプロトコルが最速のデータ転送速度を可能にするか、どのトランスポートプロトコルが最も費用効率が高いか、などを含むことができる。これらのパラメータは、客観的評価処理による重要性に従って評価することも、ユーザによって重要性に合わせて評価することもできる。たとえば、あるユーザは、データ転送速度が最も速い、使用可能プロトコルを使うことを好むが、別のユーザは、最も費用効率が高い、使用可能プロトコルをデフォルトで選択することを望む場合がある。ユーザインターフェイスは、トランスポートプロトコルを評価する方法を選択するために、各モバイル装置上に提供することができる。費用、速度、他のパラメータ、またはパラメータの組合せによる評価が最も高いトランスポートプロトコルが、最適プロトコルである。現在のプロトコルが最適プロトコルである場合、処理はブロック410に進む。現在のプロトコルが最適プロトコルでない場合、処理はブロック408に移る。
ブロック408で、ゲームデータを伝送するトランスポートプロトコルは、現在のプロトコルから、決定された最適プロトコルに切り換えられる。本明細書の説明から、プロトコルは、ゲームセッション中に複数回切り換えることができることを理解されたい。トランスポートプロトコルの切換えはゲームAPIによって実現され、ユーザおよびゲームアプリケーション両方に対して透過的である。ユーザの視点からは、ゲームAPIが切り換えるトランスポートプロトコルに応じて、ゲームデータの移送速度が増加しまたは低下する可能性を伴って、シームレスなゲームプレイが続く。ゲームアプリケーションの視点からは、どのトランスポートプロトコルが使われるかにかかわらず、データが、一貫したやり方でゲームアプリケーションによって受信され送信される。したがって、ゲームAPIは、ユーザおよびゲームアプリケーション両方が、選択されたトランスポートプロトコルから独立して動作することを可能にするので、トランスポート独立型ゲームAPIであるということができる。トランスポートプロトコルが切り換えられると、処理はブロック410に進む。
ブロック410で、ゲームデータは、最適プロトコルを用いて送信される。一実施形態では、直接ソケットベースの接続が、ホストモバイル装置と受信側モバイル装置(群)との間で確立される。直接ソケットベース接続の場合、ホストモバイル装置からのデータは、受信側モバイル装置(群)に直接送信される。たとえば、ホストモバイル装置上のゲームアプリケーションによって書込み動作が実施されると、データは、多くの中間ステップなしで受信側モバイル装置(群)に送信される。別の実施形態では、ゲームはパケットベースであり、または、パケットベースの接続がホストモバイル装置と受信側モバイル装置(群)との間で確立される。したがって、バッファ(図示せず)が、指定された量のゲームデータを格納するために各モバイル装置上に含まれる。ゲームデータの「パケット」が格納されると、そのパケットが提出されて、パケットベースの接続を介して送信される。ゲームデータが送信されると、処理は判断ブロック412に進む。
ブロック412で、データがモバイル装置によって受信されるか判定するために、各トランスポートプロトコルが監視される。データを受信する例示的な処理は、図6の説明において述べる。かなり長い時間が経過した後で、ゲームデータを待機する期間が「タイムアウト」する場合もあり、あるいは受信したデータが不完全である場合もある。両方の場合においてエラーメッセージを表示することができるが、モバイル装置によってデータが受信されると、処理は判断ブロック414へ続く。
判断ブロック414で、ゲームセッションが完了したか判定が行われる。ゲームセッションが完了していない場合、モバイル装置の間でさらにゲームデータが伝送されることになる。さらにゲームデータを伝送する場合、処理は判断ブロック406に戻り、ここで、使われているトランスポートプロトコルが、現在も最適トランスポートプロトコルであるか判定が行われる。ゲームセッションが完了している場合、処理はブロック416に移り、処理400は終了する。
図5は、本発明による、例示的な移送開始処理を示す論理フロー図である。図4に示す処理400がブロック404に入ると、処理500は、ブロック502に入る。処理500は、ブロック504へ続く。
ブロック504で、ゲームセッション用のゲームデータを伝送するための初期プロトコルが選択される。一実施形態では、初期プロトコルは、ゲームアプリケーションによって選択される。ゲームAPIは、ゲームアプリケーションのための、選択用の選択肢を含む。ゲームアプリケーションが書かれるときに、初期プロトコルの選択を行うことができる。別の実施形態では、ゲームAPIは、ユーザが、ゲームセッションの開始に先立って初期プロトコルを選択することを可能にするユーザインターフェイスを含む。たとえば、ユーザは、あるモバイル装置と別のモバイル装置の間でeメールが使用可能であることを知ることができる。したがって、ユーザは、ゲームセッションがeメールを介して開始されるよう選択することができる。さらに別の実施形態では、ゲームAPIは、ゲームセッションを開始するための初期トランスポートプロトコルを決定する機能を含む。初期トランスポートプロトコルが選択されると、処理はブロック506へ続く。
ブロック506で、資格情報(credential)、すなわちゲームセッション用のゲーム情報およびホストモバイル装置のアドレス情報が、受信側モバイル装置(群)に送信される。一実施形態では、ホストモバイル装置は、受信側モバイル装置(群)向けの、少なくとも1つの接続ポイントを識別済みである。たとえば、ユーザは、少なくとも1つの伝送方法を提供するために、受信側モバイル装置(群)のeメールアドレスをホストモバイル装置に提供することができる。資格情報のゲーム情報は、開始されるゲームセッション用の、ゲームインスタンスの識別子とゲームのクラスとを含む。クラスは、どのゲームが行われているかを記述し、インスタンスは、同じクラスの複数のゲームの間で異なる。アドレス情報は、初期データをホストモバイル装置に返送するための情報を含む。ホストモバイル装置のアドレス情報は、単にホストモバイル装置に関連づけられたeメールアドレスでもよく、ホストモバイル装置において利用可能なすべてのトランスポートプロトコルのアドレス情報を含むこともできる。アドレス情報は、IPアドレス識別子、eメールアドレス、SMS識別子、電話番号、ブルートゥースのアクセス許可、プロファイル情報、およびホストモバイル装置用の他のアドレス情報を含むことができる。さらに、ホストモバイル装置は、ホストモバイル装置上でどのプロトコルが使用可能であるかを、受信側モバイル装置(群)に通知する。処理は、ブロック508へ続く。
ブロック508で、送信の確認応答(ACK)が、受信側モバイル装置(群)から、ホストモバイル装置によって受信される。ACKは、受信側モバイル装置(群)のゲーム情報およびアドレス情報を含む。受信側モバイル装置(群)は、ホストモバイル装置によって提供されたアドレス情報を使って、ホストモバイル装置にACKを送ることができる。一例では、ACKのアドレス情報は、IPアドレス識別子、eメールアドレス、SMS識別子、電話番号、ブルートゥースのアクセス許可、プロファイル情報、および受信側モバイル装置(群)用の他のアドレス情報を含む。ACKは、受信側モバイル装置(群)用の使用可能なプロトコルも含む。ACKがホストモバイル装置によって受信されると、ゲームセッションが開始される。次いで、ホストモバイル装置と受信側モバイル装置(群)との間のデータのパイプラインを提供するために、ソケット接続を確立することもでき、またはパケットベースのデータ伝送を用いてセッションを開始することもできる。処理500は、ブロック510へ続き、処理は、図4に示す処理400の判断ブロック404に戻る。
図6は、本発明による、例示的なデータ受信処理を示す論理フロー図である。処理600は、図4に示す処理400がブロック412に入ると、ブロック602に入る。処理600は、ブロック604へ続く。
ブロック604で、モバイル装置のトランスポートプロトコルはそれぞれ、ゲームアプリケーションに関連して受信されたデータに対して監視される。たとえば、モバイル装置上のeメールプロトコルのInboxが、モバイル装置上にあるゲームアプリケーションに関連するどのeメールメッセージも求めて監視される。受信されたデータは、どのトランスポートプロトコルが受信側モバイル装置(群)によって最適プロトコルであると選択されたかに従って、送信される。各トランスポートプロトコルが監視されると、処理は判断ブロック606に移る。
判断ブロック606で、新しいゲームデータが、ある特定のトランスポートプロトコルにおいて受信されているか、判断が行われる。各トランスポートプロトコルは、別個に監視され、そうすることによって、トランスポートプロトコルはそれぞれ、同時に監視されるようになる。新しいゲームデータが受信されない場合、処理はブロック604に戻り、トランスポートプロトコルの監視が続けられる。反対に、新しいゲームデータがトランスポートプロトコルの1つを介して受信されると、処理はブロック608に進む。
ブロック608で、新しいゲームデータを受信したトランスポートプロトコルまたはトランスポートプロトコルシェル(図3の説明を参照されたい)が、ゲームサブシステムに新しいデータを通知し、ゲームデータを、ゲームアプリケーションが使用する形式で格納する。ゲームサブシステムが通知を受けると、処理はブロック610に進む。
ブロック610で、ゲームサブシステムは、ゲームアプリケーションに、新しく受信したデータ、およびどこにデータが置かれているかを通知する。一実施形態では、通知とともに記憶場所へのポインタが、ゲームアプリケーションに提供される。ゲームアプリケーションが、新しいゲームデータが受信されたことを通知されると、処理はブロック612に進む。
ブロック612で、ゲームアプリケーションは、ゲームサブシステムによって指定された位置から、ゲームデータを取り出す。したがって、ゲームアプリケーションは、ゲームのプレイを進めるために、必要に応じて新しいゲームデータを処理することができる。処理600は次いで、ブロック614へ続き、処理は図4に示す処理400の判断ブロック414に戻る。
本発明の様々な実施形態の論理的な動作は、(1)計算機システム上で実行される一連のコンピュータ実装ステップもしくはプログラムモジュール、および/または(2)計算機システム内の相互接続されたマシン論理回路もしくは回路モジュールとして実装される。この実装形態は、本発明を実現する計算機システムの性能要件による、選択の問題である。したがって、本明細書で説明した本発明の実施形態を構成する論理的な動作は、動作(operation)、構成装置、作用(acts)、モジュールなど、様々な呼び方をされる。これらの動作、構成装置、作用、モジュールなどは、本明細書に添付する特許請求の範囲に記載する、本発明の精神および範囲から逸脱することなく、ソフトウェア、ファームウェア、特殊目的論理、アナログ回路、またはこれらのどの組合せでも実装できることが、当業者には理解されよう。
上記の詳細な説明、例およびデータは、本発明の方法および使用を完全に説明するものである。本発明の多くの実施形態は、本発明の精神および範囲から逸脱することなく行うことができるので、本発明は、本明細書に添付する特許請求の範囲に存在する。
本発明の例示的な一実施形態において使うことができる、例示的なコンピューティングデバイスを示す図である。 本発明の例示的な一実施形態において使うことができる、例示的なモバイル装置を示す図である。 本発明によるゲームAPI用のインターフェイスを全体的に示す機能ブロック図である。 本発明による例示的なゲームデータ移送処理を示す論理フロー図である。 本発明による例示的な移送開始処理を示す論理フロー図である。 本発明による例示的なゲームデータ受信処理を示す論理フロー図である。
符号の説明
100 コンピューティングデバイス
102 処理装置
104 システムメモリ
105 オペレーティングシステム
106 プログラムモジュール
107 プログラムデータ
109 取外し可能記憶装置
110 固定型記憶装置
112 入力装置(群)
114 出力装置(群)
116 通信接続(群)
118 他のコンピューティングデバイス
228 ディスプレイ
230 周辺装置ポート
232 キーパッド
260 プロセッサ
262 メモリ
266 アプリケーション(群)
268 記憶装置
270 電源
272 無線インターフェイス層
274 オーディオインターフェイス
300 インターフェイスアーキテクチャ
302 ゲームアプリケーション
304 ゲームアプリケーションプログラムインターフェイス(API)
306 ゲームサブシステム
310 eメール
312 赤外線
314 ブルートゥース

Claims (24)

  1. モバイル装置の間で、ゲームアプリケーションに関連するデータを伝送するためのコンピュータによって実施される方法であって、
    第1のモバイル装置と第2のモバイル装置との間のゲームセッションを開始するステップと、
    第1のトランスポートプロトコルが、データ伝送用の最適トランスポートプロトコルであるか判定するステップと、
    第2のトランスポートプロトコルが前記最適トランスポートプロトコルであると判定されると、前記第1のトランスポートプロトコルを前記第2のトランスポートプロトコルに切り換えるステップと、
    前記第1のトランスポートプロトコルが前記最適トランスポートプロトコルに対応する場合、前記第1のトランスポートプロトコルに従ってデータを伝送するステップと、
    前記第2のトランスポートプロトコルが前記最適トランスポートプロトコルに対応する場合、前記第2のトランスポートプロトコルに従ってデータを伝送するステップとを備えることを特徴とする方法。
  2. 前記ゲームセッションを開始するステップは、
    第1のモバイル装置上で使用可能なトランスポートプロトコルから、初期トランスポートプロトコルを選択するステップと、
    前記第1のモバイル装置に対応するアドレス情報を、第2のモバイル装置に送信するステップと、
    前記第1のモバイル装置上でアクティブにされた第1のゲームアプリケーションに対応するゲーム情報を、前記第2のモバイル装置に送信するステップと、
    前記送信されたアドレス情報およびゲーム情報の確認応答を、前記第2のモバイル装置から前記第1のモバイル装置で受信するステップであって、前記確認応答は、前記第2のモバイル装置に対応するアドレス情報を含むステップとをさらに含むことを特徴とする請求項1に記載のコンピュータによって実施される方法。
  3. 前記アドレス情報は、前記第1のモバイル装置および前記第2のモバイル装置の一方に対応する、IPアドレス識別子、eメールアドレス、SMS識別子、電話番号、ブルートゥースのアクセス許可、およびプロファイル情報を有するグループの少なくとも1つを含むことを特徴とする請求項2に記載のコンピュータによって実施される方法。
  4. 前記最適トランスポートプロトコルは、即時使用可能性、伝送レート、および費用効率を有するグループの少なくとも1つを含む選択されたパラメータに従って決定されることを特徴とする請求項1に記載のコンピュータによって実施される方法。
  5. 前記データの伝送に先立って、前記第1のモバイル装置と前記第2のモバイル装置との間に、ソケットベースの接続が確立されることを特徴とする請求項1に記載のコンピュータによって実施される方法。
  6. 前記データの伝送に先立って、前記第1のモバイル装置と前記第2のモバイル装置との間に、パケットベースの接続が確立されることを特徴とする請求項1に記載のコンピュータによって実施される方法。
  7. 前記第1のモバイル装置と前記第2のモバイル装置との間で前記ゲームアプリケーションに関連する追加データが伝送されることになるとき、前記ゲームセッションが不完全であると判定するステップをさらに備えることを特徴とする請求項1に記載のコンピュータによって実施される方法。
  8. 前記第2のモバイル装置によって決定された別の最適プロトコルに従って、前記第2のモバイル装置から追加データを受信するステップをさらに備えることを特徴とする請求項1に記載のコンピュータによって実施される方法。
  9. 追加データを受信するステップは、
    トランスポートプロトコルを介して伝送される前記追加データに対する監視を行うステップと、
    前記追加データが受信されると、ゲームサブシステムに通知を行うステップと、
    前記ゲームサブシステムが通知を受けると、前記ゲームアプリケーションに前記新しいデータを通知するステップと、
    さらなるゲームプレイのために、前記データを取り出して前記ゲームアプリケーションに渡すステップとをさらに含むことを特徴とする請求項8に記載のコンピュータによって実施される方法。
  10. プロセッサと、
    ディスプレイと、
    複数のコンピュータ実行可能命令が置かれているメモリとを備えるモバイル装置であって、前記コンピュータ実行可能命令は、
    第1のモバイル装置と第2のモバイル装置との間のゲームセッションを開始するステップと、
    第1のトランスポートプロトコルが、ゲームアプリケーションに関連づけられたデータを伝送するのに最適なトランスポートプロトコルであるか判定するステップと、
    第2のトランスポートプロトコルが前記最適トランスポートプロトコルであると判定されると、前記第1のトランスポートプロトコルを前記第2のトランスポートプロトコルに切り換えるステップと、
    前記第1のトランスポートプロトコルが前記最適トランスポートプロトコルに対応する場合、前記第1のトランスポートプロトコルに従ってデータを伝送するステップと、
    前記第2のトランスポートプロトコルが前記最適トランスポートプロトコルに対応する場合、前記第2のトランスポートプロトコルに従ってデータを伝送し、前記第1のプロトコルと前記第2のプロトコルとの間の切換えは、ユーザおよび前記ゲームアプリケーションに対して透過的になるステップとを備える方法を実施することを特徴とするモバイル装置。
  11. 前記ゲームセッションを開始するための前記コンピュータ実行可能命令は、
    第1のモバイル装置上で使用可能な前記トランスポートプロトコルから、初期トランスポートプロトコルを選択するステップと、
    前記第1のモバイル装置に対応するアドレス情報を、第2のモバイル装置に送信するステップと、
    前記第1のモバイル装置上でアクティブにされた第1のゲームアプリケーションに対応するゲーム情報を、前記第2のモバイル装置に送信するステップと、
    前記送信されたアドレス情報およびゲーム情報の確認応答を、前記第2のモバイル装置から前記第1のモバイル装置で受信するステップであって、前記確認応答は、前記第2のモバイル装置に対応するアドレス情報を含むステップとをさらに備えることを特徴とする請求項10に記載のモバイル装置。
  12. 前記コンピュータ実行可能命令は、即時使用可能性、伝送レート、および費用効率を有するグループの少なくとも1つを含む選択されたパラメータに従って、前記最適トランスポートプロトコルを決定するステップをさらに備えることを特徴とする請求項10に記載のモバイル装置。
  13. 前記コンピュータ実行可能命令は、前記データの伝送に先立って、前記第1のモバイル装置と前記第2のモバイル装置との間に、ソケットベースの接続を確立するステップをさらに備えることを特徴とする請求項10に記載のモバイル装置。
  14. 前記コンピュータ実行可能命令は、前記データの伝送に先立って、前記第1のモバイル装置と前記第2のモバイル装置との間に、パケットベースの接続を確立するステップをさらに備えることを特徴とする請求項10に記載のモバイル装置。
  15. 前記第1のモバイル装置と前記第2のモバイル装置との間で、前記ゲームアプリケーションに関連する追加データが伝送されることになるとき、前記コンピュータ実行可能命令は、前記ゲームセッションが不完全であると判定するステップをさらに備えることを特徴とする請求項10に記載のモバイル装置。
  16. 前記コンピュータ実行可能命令は、前記第2のモバイル装置によって決定された別の最適プロトコルに従って、前記第2のモバイル装置から追加データを受信するステップをさらに備えることを特徴とする請求項10に記載のモバイル装置。
  17. コンピュータ実行可能命令で符号化されたコンピュータ読取可能媒体であって、前記コンピュータ実行可能命令は、
    第1のトランスポートプロトコルに従って、ホストモバイル装置と少なくとも1つの受信側モバイル装置との間でゲームセッションを開始するステップであって、アドレス情報およびゲーム情報が、前記ホストモバイル装置から少なくとも1つの受信側モバイル装置に送信されるステップと、
    前記第1のトランスポートプロトコルが、前記ホストモバイル装置から、少なくとも1つの受信側モバイル装置に、ゲームアプリケーションに関連するデータを伝送するのに最適なトランスポートプロトコルであるか判定するステップと、
    第2のトランスポートプロトコルが前記最適トランスポートプロトコルであると判定されると、前記第1のトランスポートプロトコルを前記第2のトランスポートプロトコルに切り換えるステップと、
    前記第1のトランスポートプロトコルが前記最適トランスポートプロトコルに対応する場合、前記第1のトランスポートプロトコルに従って、前記ゲームアプリケーションに関連するデータを伝送するステップと、
    前記第2のトランスポートプロトコルが前記最適トランスポートプロトコルに対応する場合、前記第2のトランスポートプロトコルに従ってデータを伝送するステップと、
    前記受信側モバイル装置によって決定された別の最適プロトコルに従って、少なくとも1つの受信側モバイル装置から、前記ゲームアプリケーションに関連する追加データを受信するステップとを備える方法を実施することを特徴とするコンピュータ読取可能媒体。
  18. 前記ゲームセッションを開始するステップは、前記送信されたアドレス情報およびゲーム情報の確認応答を、少なくとも1つの受信側モバイル装置から、前記ホストモバイル装置で受信するステップであって、前記確認応答は、少なくとも1つの受信側モバイル装置に対応するアドレス情報を含むステップとをさらに含むことを特徴とする請求項17に記載のコンピュータ読取可能媒体。
  19. 前記アドレス情報は、IPアドレス識別子、eメールアドレス、SMS識別子、電話番号、ブルートゥースのアクセス許可、およびプロファイル情報を有するグループの少なくとも1つを含むことを特徴とする請求項17に記載のコンピュータ読取可能媒体。
  20. 前記最適トランスポートプロトコルは、即時使用可能性、伝送レート、および費用効率を有するグループの少なくとも1つを含む選択されたパラメータに従って決定されることを特徴とする請求項17に記載のコンピュータ読取可能媒体。
  21. 前記データの伝送に先立って、前記ホストモバイル装置と少なくとも1つの受信側モバイル装置との間に、ソケットベースの接続が確立されることを特徴とする請求項17に記載のコンピュータ読取可能媒体。
  22. 前記データの伝送に先立って、前記ホストモバイル装置と少なくとも1つの受信側モバイル装置との間に、パケットベースの接続が確立されることを特徴とする請求項17に記載のコンピュータ読取可能媒体。
  23. 前記ホストモバイル装置と少なくとも1つの受信側モバイル装置との間で、前記ゲームアプリケーションに関連する追加データが伝送されることになるとき、前記ゲームセッションが不完全であると判定するステップをさらに備えることを特徴とする請求項17に記載のコンピュータ読取可能媒体。
  24. 追加データを受信するステップは、
    トランスポートプロトコルを介して伝送される前記追加データに対する監視を行うステップと、
    前記追加データが受信されると、ゲームサブシステムに通知を行うステップと、
    前記ゲームサブシステムが通知を受けると、前記ゲームアプリケーションに前記新しいデータを通知するステップと、
    さらなるゲームプレイのために、前記データを取り出して前記ゲームアプリケーションに渡すステップとをさらに含むことを特徴とする請求項17に記載のコンピュータ読取可能媒体。
JP2004222291A 2003-08-01 2004-07-29 モバイル装置用トランスポート独立型ゲームapiのためのシステムおよび方法 Expired - Fee Related JP4878741B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/632,529 2003-08-01
US10/632,529 US7415711B2 (en) 2003-08-01 2003-08-01 System and method for a transport independent gaming API for mobile devices

Publications (2)

Publication Number Publication Date
JP2005052643A true JP2005052643A (ja) 2005-03-03
JP4878741B2 JP4878741B2 (ja) 2012-02-15

Family

ID=33541546

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004222291A Expired - Fee Related JP4878741B2 (ja) 2003-08-01 2004-07-29 モバイル装置用トランスポート独立型ゲームapiのためのシステムおよび方法

Country Status (5)

Country Link
US (1) US7415711B2 (ja)
EP (1) EP1502634B1 (ja)
JP (1) JP4878741B2 (ja)
KR (1) KR101098746B1 (ja)
CN (1) CN1581874B (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010520772A (ja) * 2007-02-23 2010-06-17 クゥアルコム・インコーポレイテッド 近さに基づいて、ゲームセッションを作成し、または、ゲームセッションに参加するための方法と装置
JP2018075380A (ja) * 2013-02-19 2018-05-17 アマゾン テクノロジーズ インコーポレイテッド 共有サービスのためのアプリケーションプログラミングインターフェース
US10536492B2 (en) 2013-02-19 2020-01-14 Amazon Technologies, Inc. Application programming interface for a sharing service

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8639819B2 (en) 2004-02-05 2014-01-28 Nokia Corporation Ad-hoc connection between electronic devices
US7613703B2 (en) * 2004-09-30 2009-11-03 Microsoft Corporation Organizing resources into collections to facilitate more efficient and reliable resource access
US7640299B2 (en) * 2004-09-30 2009-12-29 Microsoft Corporation Optimizing communication using scaleable peer groups
US20070133520A1 (en) * 2005-12-12 2007-06-14 Microsoft Corporation Dynamically adapting peer groups
US8549180B2 (en) * 2004-10-22 2013-10-01 Microsoft Corporation Optimizing access to federation infrastructure-based resources
US8079911B2 (en) * 2005-11-18 2011-12-20 Microsoft Corporation Viewing a gamer card across multiple devices and networks
JP2007252588A (ja) * 2006-03-23 2007-10-04 Aruze Corp 遊技情報提供システム及び遊技情報提供装置
US7941131B2 (en) * 2006-08-29 2011-05-10 At&T Intellectual Property I, Lp Exchange of media by device discovery
US8147327B2 (en) * 2007-09-14 2012-04-03 Sony Ericsson Mobile Communications Ab Method for updating a multiplayer game session on a mobile device
WO2009070748A1 (en) * 2007-11-27 2009-06-04 Umber Systems System for collecting and analyzing data on application-level activity on a mobile data network
US8775391B2 (en) * 2008-03-26 2014-07-08 Zettics, Inc. System and method for sharing anonymous user profiles with a third party
US8120622B2 (en) * 2008-01-15 2012-02-21 Microsoft Corporation Proxy direct 3-D device and remote rendering
WO2009105418A1 (en) 2008-02-20 2009-08-27 Hobbit Wave Beamforming devices and methods
US20090216880A1 (en) * 2008-02-26 2009-08-27 Viasat, Inc. Methods and Systems for Dynamic Transport Selection Based on Last Mile Network Detection
US20100233960A1 (en) * 2009-03-16 2010-09-16 Brian Tucker Service discovery functionality utilizing personal area network protocols
US10277683B2 (en) 2009-03-16 2019-04-30 Apple Inc. Multifunctional devices as virtual accessories
US20100235523A1 (en) * 2009-03-16 2010-09-16 Robert Garcia Framework for supporting multi-device collaboration
US8285860B2 (en) * 2009-03-16 2012-10-09 Apple Inc. Efficient service discovery for peer-to-peer networking devices
US20110014961A1 (en) * 2009-07-17 2011-01-20 Samir Hanna Safar iphone application game
US8654952B2 (en) 2009-08-20 2014-02-18 T-Mobile Usa, Inc. Shareable applications on telecommunications devices
US8751329B2 (en) * 2009-08-20 2014-06-10 T-Mobile Usa, Inc. Licensed content purchasing and delivering
US8929887B2 (en) * 2009-08-20 2015-01-06 T-Mobile Usa, Inc. Shared book reading
US8825036B2 (en) * 2009-08-20 2014-09-02 T-Mobile Usa, Inc. Parent telecommunication device configuration of activity-based child telecommunication device
US8483738B2 (en) * 2010-03-25 2013-07-09 T-Mobile Usa, Inc. Chore and rewards tracker
US8750854B2 (en) * 2010-03-25 2014-06-10 T-Mobile Usa, Inc. Parent-controlled episodic content on a child telecommunication device
US8838784B1 (en) 2010-08-04 2014-09-16 Zettics, Inc. Method and apparatus for privacy-safe actionable analytics on mobile data usage
US8948718B2 (en) 2012-03-07 2015-02-03 Hobbit Wave, Inc. Devices and methods using the Hermetic Transform
US9154353B2 (en) 2012-03-07 2015-10-06 Hobbit Wave, Inc. Devices and methods using the hermetic transform for transmitting and receiving signals using OFDM
US9017170B2 (en) * 2012-05-23 2015-04-28 King.Com Limited Method and apparatus for interactive gameplay across multiple computing platforms
US9500099B2 (en) * 2012-07-02 2016-11-22 United Techologies Corporation Cover plate for a component of a gas turbine engine
US9531431B2 (en) 2013-10-25 2016-12-27 Hobbit Wave, Inc. Devices and methods employing hermetic transforms for encoding and decoding digital information in spread-spectrum communications systems
US9829568B2 (en) 2013-11-22 2017-11-28 VertoCOMM, Inc. Radar using hermetic transforms
US11304661B2 (en) 2014-10-23 2022-04-19 VertoCOMM, Inc. Enhanced imaging devices, and image construction methods and processes employing hermetic transforms
US9871684B2 (en) 2014-11-17 2018-01-16 VertoCOMM, Inc. Devices and methods for hermetic transform filters
US9430905B2 (en) * 2014-12-17 2016-08-30 Jackpot Rising Inc. Method and system for gaming revenue
US10305717B2 (en) 2016-02-26 2019-05-28 VertoCOMM, Inc. Devices and methods using the hermetic transform for transmitting and receiving signals using multi-channel signaling
US20210166524A1 (en) * 2019-12-02 2021-06-03 Slot Karma, Inc. System and method for constructing slot machine database, network, and slot machine network tracking application

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001087561A (ja) * 1999-07-09 2001-04-03 Nokia Corp 移動電話及びゲームユニットを用いたマルチプレーヤーゲームシステム
JP2001119755A (ja) * 1999-10-19 2001-04-27 Sony Corp データ通信方法および装置
EP1109333A2 (en) * 1999-12-16 2001-06-20 Samsung Electronics Co. Ltd. Method for automatically converting operation mode of multimode satellite terminal
JP2003087269A (ja) * 2001-09-11 2003-03-20 Toshiba Corp 複数の無線部を有する携帯型情報機器
JP2003163679A (ja) * 2001-11-27 2003-06-06 Kddi Corp 通信システム
US20030139179A1 (en) * 2002-01-23 2003-07-24 Axel Fuchs Integrated personal communications system and method
JP2003524328A (ja) * 2000-02-07 2003-08-12 クゥアルコム・インコーポレイテッド 通信システムにおける設定可能な層及びプロトコルを提供する方法及び装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5537417A (en) * 1993-01-29 1996-07-16 International Business Machines Corporation Kernel socket structure for concurrent multiple protocol access
US5452287A (en) * 1993-09-20 1995-09-19 Motorola, Inc. Method of negotiation of protocols, classes, and options in computer and communication networks providing mixed packet, frame, cell, and circuit services
GB9523869D0 (en) * 1995-11-22 1996-01-24 Philips Electronics Nv Interactive television
US6463078B1 (en) * 1998-07-22 2002-10-08 Microsoft Corporation Method for switching protocols transparently in multi-user applications
US6287200B1 (en) 1999-12-15 2001-09-11 Nokia Corporation Relative positioning and virtual objects for mobile devices
WO2001076170A2 (en) * 2000-03-31 2001-10-11 Classwave Wireless Inc. Dynamic routing of content to mobile devices
US6682423B2 (en) * 2001-04-19 2004-01-27 Igt Open architecture communications in a gaming network
US6944147B2 (en) * 2001-12-10 2005-09-13 Nortel Networks Limited System and method for maximizing capacity in a telecommunications system
US20040006640A1 (en) * 2002-07-03 2004-01-08 Inderieden Daniel W. Notification to routing protocols of changes to routing information base

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001087561A (ja) * 1999-07-09 2001-04-03 Nokia Corp 移動電話及びゲームユニットを用いたマルチプレーヤーゲームシステム
JP2001119755A (ja) * 1999-10-19 2001-04-27 Sony Corp データ通信方法および装置
EP1109333A2 (en) * 1999-12-16 2001-06-20 Samsung Electronics Co. Ltd. Method for automatically converting operation mode of multimode satellite terminal
JP2003524328A (ja) * 2000-02-07 2003-08-12 クゥアルコム・インコーポレイテッド 通信システムにおける設定可能な層及びプロトコルを提供する方法及び装置
JP2003087269A (ja) * 2001-09-11 2003-03-20 Toshiba Corp 複数の無線部を有する携帯型情報機器
JP2003163679A (ja) * 2001-11-27 2003-06-06 Kddi Corp 通信システム
US20030139179A1 (en) * 2002-01-23 2003-07-24 Axel Fuchs Integrated personal communications system and method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010520772A (ja) * 2007-02-23 2010-06-17 クゥアルコム・インコーポレイテッド 近さに基づいて、ゲームセッションを作成し、または、ゲームセッションに参加するための方法と装置
JP2018075380A (ja) * 2013-02-19 2018-05-17 アマゾン テクノロジーズ インコーポレイテッド 共有サービスのためのアプリケーションプログラミングインターフェース
US10536492B2 (en) 2013-02-19 2020-01-14 Amazon Technologies, Inc. Application programming interface for a sharing service

Also Published As

Publication number Publication date
KR101098746B1 (ko) 2011-12-23
EP1502634A3 (en) 2005-03-16
KR20050016074A (ko) 2005-02-21
US7415711B2 (en) 2008-08-19
CN1581874A (zh) 2005-02-16
US20050028166A1 (en) 2005-02-03
EP1502634B1 (en) 2018-02-21
CN1581874B (zh) 2010-04-14
EP1502634A2 (en) 2005-02-02
JP4878741B2 (ja) 2012-02-15

Similar Documents

Publication Publication Date Title
JP4878741B2 (ja) モバイル装置用トランスポート独立型ゲームapiのためのシステムおよび方法
US11375456B2 (en) Portable device for adaptive data communication control and method of operating the same
JP4365863B2 (ja) 連係動作方法及び移動通信端末装置
JP4205980B2 (ja) 端末装置およびプログラム
JP4921563B2 (ja) コンフィギュラブル・シリアルメモリインタフェース
JP2008512795A (ja) モバイルメッセージングのためのマルチモードインターフェイス
KR101436160B1 (ko) WebOS-기반 사용자 장치들을 위한 어플리케이션을핸드오프하는 방법 및 시스템
EP1233631B1 (en) System and method for managing a serial port
KR20090048714A (ko) 이동통신 단말기 및 그의 멀티미디어 메시지 처리 방법
JP4722121B2 (ja) 連係動作方法及び通信端末装置
EP1762938B1 (en) Linked operation method and mobile communication terminal device
WO2006040970A1 (ja) 携帯通信端末
WO2018049896A1 (zh) 数据传输方法及设备
JP5858039B2 (ja) 通信装置、通信システム、通信方法、及びプログラム
KR100593843B1 (ko) 이동 통신 단말기용 응용 프로그램 운영 시스템
JP2004179762A (ja) データ通信装置及びデータ通信プログラムを記憶したコンピュータ読み取り可能な記憶媒体
JP2009163568A (ja) 情報処理装置およびプログラム
JP2011048690A (ja) 通信端末装置、および、プログラム
KR20060073152A (ko) 이동 통신 단말기에서의 비정상적인 동작 처리 방법
JP2006277322A (ja) 携帯端末及びその制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070730

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100806

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101105

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110405

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110704

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111122

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111129

R150 Certificate of patent or registration of utility model

Ref document number: 4878741

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20141209

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees