JP2012507091A - インターラクティブなプロキシミティディスプレイのテザーのための装置、方法およびシステム - Google Patents

インターラクティブなプロキシミティディスプレイのテザーのための装置、方法およびシステム Download PDF

Info

Publication number
JP2012507091A
JP2012507091A JP2011533429A JP2011533429A JP2012507091A JP 2012507091 A JP2012507091 A JP 2012507091A JP 2011533429 A JP2011533429 A JP 2011533429A JP 2011533429 A JP2011533429 A JP 2011533429A JP 2012507091 A JP2012507091 A JP 2012507091A
Authority
JP
Japan
Prior art keywords
tether
target device
ipdt
data
application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2011533429A
Other languages
English (en)
Inventor
シャービン・ピシェバー
Original Assignee
ソーシャル・ゲーミング・ネットワーク
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 ソーシャル・ゲーミング・ネットワーク filed Critical ソーシャル・ゲーミング・ネットワーク
Publication of JP2012507091A publication Critical patent/JP2012507091A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4126The peripheral being portable, e.g. PDAs or mobile phones
    • H04N21/41265The peripheral being portable, e.g. PDAs or mobile phones having a remote control device for bidirectional communication between the remote control device and client 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
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/211Input arrangements for video game devices characterised by their sensors, purposes or types using inertial sensors, e.g. accelerometers or gyroscopes
    • 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/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/216Input arrangements for video game devices characterised by their sensors, purposes or types using geographical information, e.g. location of the game device or player using GPS
    • 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/20Input arrangements for video game devices
    • A63F13/23Input arrangements for video game devices for interfacing with the game device, e.g. specific interfaces between game controller and console
    • A63F13/235Input arrangements for video game devices for interfacing with the game device, e.g. specific interfaces between game controller and console using a wireless connection, e.g. infrared or piconet
    • 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/25Output arrangements for video game devices
    • A63F13/26Output arrangements for video game devices having at least one additional display device, e.g. on the game controller or outside a game booth
    • 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/25Output arrangements for video game devices
    • A63F13/27Output arrangements for video game devices characterised by a large display in a public venue, e.g. in a movie theatre, stadium or game arena
    • 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/32Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using local area network [LAN] connections
    • A63F13/323Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using local area network [LAN] connections between game devices with different hardware characteristics, e.g. hand-held game devices connectable to game consoles or arcade machines
    • 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/32Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using local area network [LAN] connections
    • A63F13/327Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using local area network [LAN] connections using wireless networks, e.g. Wi-Fi® or piconet
    • 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/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • A63F13/533Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game for prompting the player, e.g. by displaying a game menu
    • 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/85Providing additional services to players
    • A63F13/87Communicating with other players during game play, e.g. by e-mail or chat
    • 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/90Constructional 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/92Video game devices specially adapted to be hand-held while playing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/42204User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4622Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
    • 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/34Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using peer-to-peer connections
    • 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/35Details of 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
    • 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/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1025Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals details of the interface with the game device, e.g. USB version detection
    • A63F2300/1031Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals details of the interface with the game device, e.g. USB version detection using a wireless connection, e.g. Bluetooth, infrared connections
    • 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/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/105Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals using inertial sensors, e.g. accelerometers, gyroscopes
    • 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/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/205Features 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 for detecting the geographical location of the game platform
    • 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/30Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device
    • A63F2300/301Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device using an additional display connected to the game console, e.g. on the controller
    • 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/30Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device
    • A63F2300/308Details of the user interface
    • 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/403Connection between platform and 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/404Features 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 characterized by a local network connection
    • A63F2300/405Features 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 characterized by a local network connection being a wireless ad hoc network, e.g. Bluetooth, Wi-Fi, Pico net
    • 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/408Peer to peer connection
    • 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/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of 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
    • 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/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/552Details of game data or player data management for downloading to client devices, e.g. using OS version, hardware or software profile of the client 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/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5546Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history
    • 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/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5546Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history
    • A63F2300/5573Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history player location
    • 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/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/57Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of game services offered to the player
    • A63F2300/572Communication between players during game play of non game information, e.g. e-mail, chat, file transfer, streaming of audio and streaming of video
    • 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/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8023Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game the game being played by multiple players at a common site, e.g. in an arena, theatre, shopping mall using a large public display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Optics & Photonics (AREA)
  • Computer Security & Cryptography (AREA)
  • Environmental & Geological Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Business, Economics & Management (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

インターラクティブなプロキシミティディスプレイのテザー(IPDT)のための装置、方法およびシステムは、ソースとターゲットデバイス間でインターラクティブ通信とディスプレイのテザーを与えるインターラクティブなプロキシミティディスプレイのテザー(IPDT)を教示する。IPDTは、ユーザがターゲットデバイスのより大型のディスプレイでソースモバイルデバイスを使用することを可能にする。例えば、ユーザはiPhoneなどのソースデバイスを使用し、IPDTによって実行されたビデオゲームを送信し、ターゲットとしてより大型のディスプレイデバイスを使用し、様々なアプリケーションを動作させる際に、特にゲーム環境において、より大きい有用性を与える。加速度計の使用を可能にするiPhoneなどのデバイスはIPDTで強化され、それによってデバイス全体が入力(例えば、ゲーム)コントローラとして動作可能となり、ユーザにアプリケーションへの入力を制御する(例えば、ゲームを制御する)ことを可能にすると共にアプリケーションの結果を十分に閲覧することを可能にする。
【選択図】図1

Description

(関連出願)
本出願人は、2008年10月27日に提出され、「インターラクティブなプロキシミティディスプレイのテザーのための装置、方法およびシステム」という名称を有する米国仮特許出願シリアル番号第61/108,565号、弁護士ドケット番号19626−002PVと、2008年11月19日に提出され、「インターラクティブなプロキシミティディスプレイのテザーのための装置、方法およびシステム」という名称を有する米国仮特許出願シリアル番号第61/116,175号、弁護士ドケット番号19626−002PV1と、2009年2月11日に提出され、「リモートでインターラクティブなリアルタイム共同プレイのための装置、方法およびシステム」という名称を有する米国仮特許出願シリアル番号第61/151,832号、弁護士ドケット番号19626−004PVと、に対する米国特許法第119条に基づく優先権をここに主張する。
上記出願の内容全部は参照されてここで明示的に結合される。
(分野)
本発明は、一般に、インターラクティブディスプレイのための装置、方法およびシステムに係り、特に、インターラクティブなプロキシミティディスプレイのテザー(以下、「IPDT」)のための装置、方法およびシステムに関する。
任天堂ゲームボーイ、任天堂DS、ソニーPSPなどの携帯型ゲーム環境と、iPhone、Palm、ブラックベリー、及び/又は、その他のデバイスなどの移動通信電話機はユーザが移動しながらゲームをすることを可能にする。これらのデバイスは、典型的に、携帯可能な大きさの画面を有してユーザが移動中にゲームをすることを可能にする。
インターラクティブなプロキシミティディスプレイのテザー(IPDT)はユーザがターゲットデバイスのより大型のディスプレイでソースデバイスを使用することを可能にする。IPDTは、iPhoneなどのソースデバイスにターゲットであるより大型のディスプレイデバイスを使用することを可能にする際に特に有益であり、それは様々なアプリケーションを動作させるにあたって、特にゲーム環境においてより大きい有用性を与える。加速度計の使用を可能にし、それによって全体として入力(例えば、ゲーム)コントローラとして動作可能であるiPhoneなどのデバイスは、ユーザにアプリケーションへの入力を制御する(例えば、ゲームを制御する)ことを可能にすると共にアプリケーションの結果を十分に閲覧することを可能にすることによってIPDTで強化される。例えば、バーチャルゴルフゲームをする時は、ユーザはiPhoneでゴルフスイングをシミュレートし、iPhoneは入力装置として使用可能であるが、ユーザはスイング中にiPhoneでスイングを見ることができない。
IPDTは、アップルiPhoneなどの(但し、これには限定されない)より小さいモバイルデバイスが、大画面コンピュータ、ラップトップ、セットトップボックス、ケーブルボックス、テレビなどの他のデバイスでその表示を送ることを可能にする。iPhoneなどのモバイルデバイスを使用した多数のユーザ間におけるインターラクティブなゲーミングは、IPDTを介して送信及び相互作用する能力から同様に利益を得る。また、スライドショーのプレゼンテーションなどのビジネス及びパーソナルのプロダクティビティアプリケーションは、IPDTによって強化されたアプリケーションから利益を得て、これによってユーザが殆ど全ての便利でアクセス可能なターゲットデバイスを彼らのソースデバイスの延長として使用することを可能にする。
添付の付録と図面は、本開示に従って様々な非限定的で実例である発明の側面を例示している。
インターラクティブなプロキシミティディスプレイのテザー(以下、「IPDT」)の動作のある実施例におけるリアルタイム共同プレイシステムを有するIPDTと関連エンティティとの間のデータフローの実施の全体ブロック図である。 IPDT動作の実施例におけるIPDTシステムコンポーネント実装を与える。 図3A−3Fは、IPDT動作の実施例のインターラクティブなプロキシミティディスプレイのテザー機能の側面を示す論理フロー図とスクリーンショットの実例を与える。 IPDT動作の実施例においてインターラクティブなプロキシミティディスプレイのテザー機能のデータフォーマットの実例を示すブロック図である。 図5A−5Dは、IPDT動作の実施例における共同プレイIPDTの実施例を示す図である。 図6A−6Bは、IPDT動作の実施例におけるリアルタイム共同プレイの側面を示す論理フロー図である。 図7A−7Cは、IPDT動作におけるある実施例の購読プロセスとIPDTの他の実施例の側面の図である。 ある実施例におけるゴルフクラブとして構成されたIPDT筺体の実施例の図である。 IPDTコントローラの実施例を示すブロック図である。
図面の各参照符号の先頭番号は参照符号が紹介及び/又は詳述されている図を示している。このため、参照符号101の詳細な説明は図1に存在、及び/又は、紹介されている。参照符号201は図2などに紹介されている。
本開示はインターラクティブなプロキシミティディスプレイのテザー(以下、「IPDT」)のための装置、方法およびシステムの実施を詳述する。IPDTは、ユーザの電話機でインターラクティブアプリケーションを実施して、ターゲットデバイス、及び/又は、別のユーザ電話機でテザーし、これによってユーザは電話機のゲーミングアプリケーションを起動するローカル画面を、より大型のディスプレイ装置に投射することができる。
例えば、ある実施例においては、IPDTは、アップルのiPhoneのOS、グーグルのアンドロイドのOS、ブラックベリーのOSなどのスマートホンのプラットフォーム上で様々なモバイルデバイスで実行可能である。ある実施例においては、かかるモバイルデバイスを操作するユーザは、そのモバイルデバイスからiGolfゲーム等のIPDTゲーミングアプリケーションをプレイすることを選択する。ユーザが、例えば、モバイルデバイス画面メニューからIPDTコンポーネントアイコンをクリックすることによってIPDTアプリケーションを開始すると、モバイルデバイスはローカル・エリア・ネットワーク内で利用可能なターゲットデバイスをクエリする。例えば、ある実施例においては、モバイルデバイスは、ブルートゥースの範囲内で登録されたラップトップ、デスクトップ、プロジェクタ、テレビなどを検索する。ユーザは、その後、利用可能なターゲットデバイスの検索結果リストを与えられるか、選択を入力する。ある実施例においては、ユーザはテレビを選択し、モバイルデバイスは通信チャネルを確立し、テレビでテザーする。ある実施例においては、モバイルデバイスのゲーミング画面は、テレビの大型ディスプレイに投射され、テレビにリアルタイムにインターラクティブにビデオゲーミング画面を表示した状態で、ユーザにリモートゲームコントローラとしてモバイルデバイスを操作することを可能にする。
ある実施例においては、リモートディスプレイテザーコンポーネントを初期化する要求を受信することと、テザーターゲットデバイスをクエリすることと、選択されたテザーターゲットデバイスに対する通信チャネルを構成することと、選択されたテザーターゲットデバイスの種類を決定することと、選択されたテザーターゲットデバイスがプロセッサベースである場合は通信チャネルを通じてリモートディスプレイのインスタンスを作成することと、選択されたテザーターゲットデバイスがプロセッサベースである場合はソースデバイスにインターラクティブテザーアプリケーションのインスタンスを作成することと、制御入力に基づいてデータを生成することと、通信チャネルを通じてリモートディスプレイを駆動するために生成されたデータを送ることと、を有する。
IPDTユーザ、管理者、サーバ、データ、貨幣構造、ハードウェア構造、ネットワークフレームワークなどの特定の需要、及び/又は、特徴に依存して、大量の柔軟性とカスタム化を容易にするIPDTの様々な実施例が具現化可能であることを理解すべきである。本開示は、主としてビデオゲーミングアプリケーションのコンテクストにおけるIPDTの実施例を説明する。しかし、ここで記載された本システムは、広範囲の他の用途または実施例のために直ちに構成され/カスタマイズされることが可能であることを理解すべきである。例えば、IPDTの側面は、暗号通信、人工知能シミュレーション、リモートアクセスプレゼンテーションなどに対して構成可能である。IPDTは、一般のネットワーク管理アプリケーションとネットワークプロトコル設計のための他の実施例に更に適用されてもよいことを理解すべきである。
図1は、IPDT動作におけるある実施例においてIPDTシステムと関係エンティティとの間のデータフローの実施の全体ブロック図である。図1において、ソースデバイス110を操作するユーザ105、リモートディスプレイ125を有するターゲットデバイス120、IPDTデータベース119およびシステム管理者130が通信ネットワーク113を介して相互作用するように示されている。
ある実施例においては、ユーザ110は、ソースデバイス110を使用してソースデバイスのソースディスプレイ115の画面をターゲットデバイス120のリモートディスプレイ125と接続して共有する操作を行う。ソースデバイス110は、モバイルデバイス、専用ゲーム機、汎用計算機などの(但し、これらに限定されない)様々な異なるデバイスと技術を含んでもよい。ターゲットデバイス120は、例えば、モバイル電話機、専用ゲーム機、汎用計算機、ゲームコンソール、セットトップボックス、ケーブルボックス、ビデオディスプレイなどのデバイスと技術を含んでもよい。例えば、図1に示すように、ある実施例において、ソースデバイス110は、アップル社のiPhoneなどの携帯電話機で、ターゲットデバイス120はディスプレイ画面125を有するコンピュータであってもよい。別の例では、ソースデバイス110は、(図8の実施例で更に示されているように)ゴルフゲーム用のゴルフクラブ、テニスゲーム用のテニスラケット、魚釣りゲーム用の釣竿、野球ゲーム用の野球のバットなどのゲーム器具形状を有する筺体に保護されたアップルのiPhoneなどのモバイルデバイスであってもよい。
IPDTは、通信ネットワーク113を通じて、WiFi、ブルートゥース、3Gセルラー、イーサネット、物理的テザー(例えば、モニタまたはテレビへの接続を与えるiPhoneビデオAVからドックコネクタケーブル)などの広範囲のプロトコルに基づいて接続を容易にする。ある実施例においては、通信ネットワーク113は、インターネット、ワイド・エリア・ネットワーク(WAN)、電話ネットワーク、ローカル・エリア・ネットワーク(LAN)、ピア・ツー・ピア(P2P)接続などであってもよい。ある実施例においては、ソース装置110は、図4の実施例に更に示すように、通信ネットワーク113を介して制御情報とデータペイロードを交換するためにターゲットデバイス120を検出し、ハンドシェークし、対話してもよい。例えば、ある実施例においては、通信ネットワーク113は、ソースデバイス110がそのソースディスプレイ115をターゲットデバイスのリモートディスプレイ125に投射するように通信路を与え、その一つはクライアントデバイス112にも通信チャネルを開いている。このようにして、一以上のクライアントデバイスとの通信と共に、比較的小型のソースデバイスはターゲットデバイスのより大型のディスプレイを駆動し、リモートデバイス125を使用してソースデバイスによるテザー及びインターラクティブ制御を可能にする。別の実施例においては、IPDTは、ターゲットデバイス120のより大型のリモートディスプレイ125を介して一以上のソースデバイス110によってゲームのインターラクティブ制御を与えるインターラクティブコントロール手段を実行してもよい。例えば、ある実施例においては、ユーザ105は、ターゲットデバイスに表示されたゲーミングアプリケーションを別のユーザ105と共同プレイする。このようにして、ソースデバイスは、図5A乃至5Dに示すある実施例に更に示すように、互いに、そして、異なるモードでターゲットデバイスと通信するように構成されてもよい。
ある実施例においては、ソースデバイス110、ターゲットデバイス120などのIPDTエンティティは、IPDTデータベース119と通信する。幾つかの実施例においては、分散IPDTデータベースは、ターゲットデバイス120、及び/又は、ソースデバイス110と筺体が一体であってもよい。別の実施例においては、IPDTエンティティは、通信ネットワーク113を介してリモートIPDTデータベース119にアクセスすることができる。ある実施例においては、IPDTエンティティは、記憶用データベース119にデータを送信してもよく、データは、ユーザアカウント情報、アプリケーションデータ、プロトコルデータ、アプリケーション履歴などであるが、これらに限定されない。
ある実施例においては、IPDTデータベース119は、(例えば、アップル社、インテル、ソニーなどの)ハードウェアベンダー、(例えば、任天堂、ゲームキューブ、ゲームボーイなどの)ゲーミングアプリケーションベンダー、(例えば、プレイステーションネットワーク、WiiConnect24などの)サービスベンダーなどの様々なベンダーに接続された一以上のオンラインデータベースであってもよく、かかるベンダーから更新ハードウェアドライバ情報、新しいゲーミングアプリケーションパッケージ及びサービスを取得してもよい。ある実施例においては、ソースデバイス110、及び/又は、ターゲットデバイス120は、連続的、間欠的、及び/又は、定期的に、更新ユーザプロフィール、更新ソフトウェアプログラム、更新コマンド命令などの更新をIPDTデータベース119から、テルネットFTP、HTTP転送、P2P通信などの様々な接続プロトコルを介してダウンロードする。
更なる実施例においては、ターゲットデバイス120とソースデバイス110は通信ネットワーク113を介してオンラインゲーミングサーバ130に接続する。例えば、ある実施例において、ユーザ105は、ターゲットデバイス120にローカルで表示される、オンラインゲーミングサーバ130におけるインターネットゲームコミュニティ(例えば、FASTなど)に加入するのにソースデバイス110を使用する。
ある実施例においては、システム管理者140は、通信ネットワーク113を介して定期保守、サービス障害、システム更新、データベース再開、セキュリティ監視などのために、IPDTエンティティと通信してもよい。例えば、ある実施例においては、システム管理者は、システム設定、ペアレンタルコントロールなどを構成するために、ターゲットデバイス120と直接に動作するユーザであってもよい。別の実施例においては、システム管理者は、インターネットゲーミングのサーベースベンダーであってもよい。
図2は、IPDT動作のある実施例におけるIPDTシステムコンポーネントの例を示している。IPDTデバイス201は、幾つかの機能的モジュール及び/又はデータ記憶部を有してもよい。IPDT制御部205は、IPDT動作の幾つかの実施例において中心的役割を果たし、IPDTモジュールを介してターゲットデバイス及び/又はクライアントデバイスへ、ターゲットデバイス及び/又はクライアントデバイスから、ターゲットデバイス及び/又はクライアントデバイス間でデータ及び/又は命令の受信、生成、及び/又は、分配を組織するように機能し、ある場合には外部エンティティとシステムとの通信を実現する。
ある実施例においては、IPDT制御部205は、別のモジュール及び/又はデータベースと別個にIPDTシステムに収納され、別の実施例においては、他のモジュール及び/又はデータベースの幾つかまたは全ては、IPDT制御部に収納され、及び/又はIPDT制御部の一部として構成される。IPDT制御部の動作、モジュールおよびデータベースの実施に関しては更に詳細に以下に説明する。
ある実施例においては、IPDT制御部205は、一以上のインターフェースコンポーネント、及び/又は、モジュールと結合されてもよい。ある実施例においては、IPDT制御部は、ユーザインターフェース(UI)210、保守インターフェース212、及び電源インターフェース214に結合される。ユーザインターフェース210は、ユーザ入力および表示アプリケーション状態、及び/又は、他の出力を受信するように構成されてもよい。UIは、例えば、ユーザが、IPDTシステム設定を調整すること、通信方法及び/又はプロトコルを選択すること、リモートディスプレイモードを開始すること、モバイルデバイスアプリケーションの特徴機能を実行すること、可能なターゲット/クライアントデバイスを識別することなどを可能にする。ある実施例においては、ユーザインターフェース210は、キーボード、マウス、スタイラス、タッチスクリーン、デジタルディスプレイなどを含むが、これらには限定されない。ある実施例においては、保守インターフェース212は、例えば、定期点検と修理を構成し、システム更新データを受信し、システムの振る舞いを報告するなどしてもよい。ある実施例においては、電源インターフェース214は、例えば、IPDT制御部205を、組込み電池、及び/又は、外部電源に接続する。
ある実施例においては、IPDT制御部は、デバイスアプリケーションソフトウェアを起動するように構成されたアプリケーションエンジン260に更に結合される。ある実施例においては、アプリケーションエンジン260は、アプリケーション状態の構成を更新するために、一以上の集積センサから派生したセンサ入力情報を受信し、その情報を解釈する。ある実施例においては、更新アプリケーション状態データは、ディスプレイの実施例に依存してターゲット、クライアント、及び/又は、ソースデバイスに転送される。例えば、アプリケーションエンジンによって起動されたアプリケーションは、動作感知モバイルデバイスを介して制御されるビデオゲームを有し、転送ビデオゲームデータを表示するように構成されたラップトップとの通信チャンネルを確立するのにIPDTを使用する。
ある実施例においては、IPDT制御部205は、センサ入出力(I/O)コンポーネント225とインターフェース接続し、及び/又は、そこからの信号を処理するように構成されたセンサモジュール220に更に結合される。センサI/Oコンポーネント225は、ユーザの操作、環境状況などによって刺激され、センサモジュール220、及び/又は、他のIPDTコンポーネントによって受信、及び/又は、処理される電気信号を生成し、それは次いでアプリケーションによって使用可能な入力制御を生成するように動作する。様々な異なるセンサはIPDT動作と互換性があり、動作状態、音量、体積、ピッチ、圧力、風力、温度、データ転送速度、照度、位置、高さ、天気、水分レベル、湿度などを計測するように構成された、トランスデューサ、加速度計、温度計、風力計、湿度計、マイクロホンなどの(但し、これらには限定されない)センサI/Oコンポーネント225と一体であってもよい。ある実施例においては、センサモジュール220は、アプリケーションエンジン260によって起動されるアプリケーションに適した形態でセンサI/Oコンポーネント225から受信した信号を構成してもよい。別の実施例においては、アプリケーションエンジン260は、一以上の起動しているアプリケーションのアプリケーション状態を更新する処理を行うために、センサI/Oコンポーネント225から直接に信号を受信してもよい。例えば、ある実施例においては、ユーザは、(図8の実施例に更に示すように)ゴルフクラブのIPDTリモート制御デバイス筺体を使用してもよい。ユーザは本当のゴルフクラブをフィールドでスイングするようにリモート制御デバイスをスイングし、センサI/O225はクラブの動作信号を検出してセンサモジュール220に適した信号(例えば、スイングの速度と方向を示す加速度計からの電気パルスなど)を転送してもよい。センサモジュール220は、受信信号を処理及び分析し、移動の特徴、例えば、移動方向、移動速度、移動レベルなどを記述するデータを生成し、そのデータをIPDT制御部205に転送してもよい。例えば、ある実施例においては、iPhoneSDKツールキット、及び/又は、実行時間ライブラリがインストールされ、かかる動作にアクセス及び解釈するのに使用される。
ある実施例においては、IPDT制御部205は、通信I/Oコンポーネント235とインターフェース接続、及び/又は、そこからの信号を処理するように構成された通信モジュール230に更に結合されてもよい。通信I/Oコンポーネント235は、通信モジュール230と協働、及び/又は、通信モジュール230によって、様々な異なる通信プロトコル、及び/又は、フォーマットを介して電子通信の送信を容易にするコンポーネントを含んでもよい。通信I/Oコンポーネント240は、例えば、ポート、スロット、アンテナ、増幅器などを含んでもよく、上記方法のいずれかを介して、モバイルデバイスアプリケーション状態の側面の表示内容、及び/又は、表示方法をリモートディスプレイに命令する表示命令の送信を容易にする。
通信モジュール230、及び/又は、通信I/Oコンポーネント235が互換性を有する通信プロトコル、及び/又は、フォーマットは、GSM、GPRS、W−CDMA、CDMA、CDMA2000、HSDPA、イーサネット、WiFi、ブルートゥース、USBなどを含んでもよいが、これらには限定されない。様々な実施例において、通信I/Oコンポーネント235は、FTP、TCP/IP、SMTP、ショートメッセージ・ピア・ツー・ピア(SMPP)などの(但し、これらには限定されない)ネットワーク通信プロトコルに従って、例えば、アプリケーション内のデータ、移転、ネットワーク、メディアアクセスコントロール、及び/又は、物理レイヤーフォーマットを構成するように機能してもよい。通信モジュール230と通信I/O235は、ワイヤレスアプリケーションプロトコル(WAP)、VoIP及び/又は同様のデータフォーマット及び/又はプロトコルを実施及び/又は翻訳するように更に構成可能である。通信I/O235は、IPDTシステムと共に及び/又はIPDTシステム内で有線及び/又は無線通信を容易にするために、一以上のポート、ジャック、アンテナなどを更に収納してもよい。例えば、上述の例において、IPDT制御部205は、制御デバイスの移動の受信センサデータ特徴を通信モジュール230に送信してもよく、そのデータは、その後、通信I/O235を介して外部エンティティ(ターゲットデバイスなど)に送信されてもよい。
様々なデータ転送プロトコルは、例えば、TCP/IP、及び/又は、HTTPポスト、FTPプットコマンドなどのより高いプロトコルなどのIPDT接続として使用されてもよい。ある実施例においては、通信モジュール230は、ワールド・ワイド・ウエブに公開されるアプリケーション状態データを構成するウエブ・サーバ・ソフトウエアを有してもよい。公開されたアプリケーション状態データは、ある実施例において、アドビフラッシュなどのマルチメディアプラグインに従って構成されるなど、統合ビデオ、アニメーション、リッチインターネットアプリケーションなどとして表示されてもよい。別の実施例においては、通信モジュール230は、リモートクライアント上の閲覧のためのアプリケーション状態データを構成するように装備される、Citrix、バーチャル・ネットワーク・コンピューティング(VNC)などのリモート・アクセス・ソフトウェアなどを有してもよい。
ある実施例においては、IPDT制御部205は、IPDTデータを格納及び維持するように構成された複数のデータベースに更に結合される。アプリケーションデータベース240は、アプリケーションデータ、ユーザID、設定、構成、保存ゲーム、ゲーム状態、アプリケーションインターフェース要素などを含んでもよい。プロトコルデータベース245は、ワールド・ワイド・ウエブ上の公開に適する通信プロトコル、及び/又は、データ構成に関連し、リモート・アクセス・ソフトウェア設定などにおいてクライアントデバイスとサーバデバイスの間で共有するデータを含んでもよい。ユーザデータベース250は、ユーザ、アプリケーション履歴、システム構成などに関連する、アカウント情報、連絡情報、プロフィール情報、ハードウェアデバイスの識別、顧客構内設備(CPE)などに関する情報を含んでもよい。ハードウェアデータベース245は、例えば、ユーザデバイス、ディスプレイデバイス、ターゲットデバイス、電子メールサーバ、ユーザ電話デバイス、CPE、ゲートウエイ、ルータ、ユーザ端末など(但し、これらには限定されない)IPDTシステムが通信するハードウェアデバイスに関する情報を含んでもよい。ハードウェアデータベース228は、様々なIPDT関連エンティティのいずれかに使用されるハードウェアデバイスと通信するのに適した通信プロトコル、データフォーマットなどを特定する。
ある実施例においては、IPDTデータベースは、アレイ、ハッシュ(リンクされた)リスト、ストラクト、構成テキストファイル(例えば、XML)、テーブルなど様々な基準データ構成を使用して具現化可能である。例えば、ある実施例においては、ユーザデータベース250のユーザプロフィールに対するXMLは、以下の例に類似する形態を採ってもよい。
<User>
< Quasi-static info>
<User_ID>123-45-6789</User_ID>
<Hardware ID>SDASFK45632_iPhone 3.0 </Hardware ID>
<Census info>John Smith; 123 Maple Dr., Smalltown, CA 92676; (123)456-7890; jsmith@email.com; 55 years; male; white; married; 2 children; etc.
</Census info>
...
</Quasi-static info>
<Dynamic info>
<Application history>
<Last login >
<Server ID>US-CA-ADD00089</Server ID>
<Time> 19:33:25 08-30-2009 </Time>
...
</Last login>
...
</Application history>
</Dynamic info>
</User>
図3Aは、IPDT動作の実施例におけるインターラクティブなリモートディスプレイのテザー機能の側面を示す論理フロー図である。ある実施例においては、リモートディスプレイのテザーを希望するユーザは、IPDTコンポーネントで実施されるアプリケーションを使用する。ある実施例においては、IPDTコンポーネントは、ソフトウェア開発キット(SDK)、及び/又は、IPDTが有益なアプリケーションに含まれるオブジェクトライブラリとして具現化される。ある実施例においては、IPDTコンポーネントを組み込むどんなプログラムも、ソースデバイスで利用可能及び/又はソースデバイスにダウンロードおよびインストールが可能であり、そこでユーザがIPDTアプリケーションを起動する選択肢を有し300、ユーザがIPDTアプリケーションを初期化する要求を提出することができる302。例えば、ある実施例においては、ユーザは、iPhoneのメニューからIPDTアイコンを選択することによってIPDTモバイルデバイスからの「リモートゲームコントロール」アプリケーションを初期化し、図3Dの画面370の実施例で示すように、IPDTゲーミングアプリケーションを入力することができる。一旦アプリケーションが選択されてそのインスタンスの作成を開始し、ソースデバイスが通信チャネルの全てを介して適切なテザーデバイスを検索すると、IPDTコンポーネントは、図3Dの画面372の実施例で示すように、テザーターゲットをクエリしてもよい310。ある実施例においては、IPDTコンポーネントは、ハードウェアデータベースのソースデバイス通信スタックにおける登録デバイス及び/又は通信チャネルに基づいて、及び/又は、ゼロ構成プロトコルに基づいて、及び/又は、ユーザが提出したターゲット情報に基づいて、図3Bに更に示すように、ローカル・エリア・ネットワーク内で利用可能なターゲットデバイスを検索してもよい。
ある実施例においては、ソースデバイスは、図3Dの画面373の実施例に示すように、ユーザが選択をする335潜在的テザーターゲットのリストをユーザに提供することができる330。ターゲットデバイスを選択する際に、ソースデバイスは、図3Dの画面375と378の実施例に示すように、そして、図3Cに更に示すように、テザーターゲット340の種類に基づいて、選択されたテザーターゲットに接続してもよい。一旦IPDTが確立されると、IPDTは、IPDTを容易にするために追加クライアントを組み込もうとする365。さもなければ、ソースデバイスとターゲットデバイスは(図3Dの画面380の実施例に示すように)IPDTで処理してもよい367。この種のIPDTは図5A−5Dの例で後述するように、共同プレイIPDTを容易にするように拡張されてもよく、ターゲットデバイスが、例示された共同プレイIPDTの実施例に対してサーバの責任を負う。
図3BはIPDT動作の実施例においてテザーターゲットのクエリの側面を示している。ある実施例においては、ユーザがターゲットデバイスの表示を提出すると315、IPDTは、ユーザが提出した情報に基づいてターゲットデバイスを検索する316。例えば、ある実施例においては、ユーザは、モバイルデバイスを介してターゲットデバイスの既知のIPアドレス、MACアドレス、頭字語、ハードウェアラベル、デジタル署名、ドライバ証明書、ゼロ構成情報などを入力し、モバイルデバイスは対応する表示に対してローカル・エリア・ネットワークの利用可能な範囲内で検索してもよい。ユーザが提出した表示がなければ、IPDTは、ハードウェアデータベースに通信スタックをクエリするかどうかを決定してもよい318。例えば、ある実施例においては、IPDTは、ユーザにメッセージを表示してユーザからデータベースにクエリするかどうかを決定するための指示を受けることができる。そうであれば、IPDTは、ソースデバイスと互換性がある登録されたデバイス/通信チャネルに対して通信スタックでクエリを形成してもよい320。そうでなければ、IPDTは、例えば、サービスロケーションプロトコル(SLP)、ユニバーサルプラグアンドプレイ(UPnP)、ジニ、ブルートゥースサービスディスカバリープロトコル、WS−ディスカバリー、UDPやボンジュールなどを使用するプロプラエタリディスカバリープロトコルなどの(但し、これらには限定されない)ゼロ構成プロトコルによってローカル・エリア・ネットワークの範囲内で適当なターゲットデバイスを突き止める検索を開始してもよい322。
ある実施例においては、テザーターゲットデバイスは、ゼロ構成ネットワークを介してその利用可能性を提供してサーバに公開し、例えば、アップルSDKはボンジュールサービスを作成することができる。例えば、ある実施例においては、サービスを作成してテザーターゲットを公開するボンジュールに基づくC++実装は、以下と同様の形態を採ることができる。
//Creating the Bonjour Service

CFNetService netService=CFNetServiceCreate(NULL, CFSTR(""), type, name, port);
...

//Publishing the Server

void init (CFNetServiceRef netService)
{
CFStreamError error; CFNetServiceClientContext context = { o, NULL, NULL, NULL, NULL };

CFNetServiceSetClient(netService, registerCallback, &context);
CFNetServiceScheduleWithRunLoop(netService, CFRunLoopGetCurrent(),
kCFRunLoopCommonModes);
CFNetServiceRegister(netService, NULL);
if (CFNetServiceRegister(netService, &error) == false) {
CFNetServiceUnscheduleFromRunLoop(netService,
CFRunLoopGetCurrent(),kCFRunLoopCommonModes);
CFNetServiceSetClient(netService, NULL, NULL);
CFRelease(netService);
}
}
...
別の実施例に対し、テザーターゲットとしてサービスを作成してサービス情報を提供するUDPを使用するプロプラエタリディスカバリープロトコルに基づくC/C++実装は、は、以下と同様の形態を採ることができる。
//Broadcast Service Information
...
SOCKET sock;
sock = socket(AF_INET,SOCK_DGRAM,o);

char broadcast = '1';

int sres =
setsockopt(sock,SOL_SOCKET,SO_BROADCAST,&broadcast,sizeof(broadcast))

if (sres < o)
{
closesocket(sock);
return o;
}
struct sockaddr_in recv;

int len = sizeof( struct sockaddr_in);
char msg[] ="IPDT PC V1.01";
recv.sin_family = AF_INET;
recv.sin_port = htons(MYPORT);
recv.sin_addr.s_addr = INADDR_BROADCAST;

sendto(sock,sendMSG,strlen(msg)+i,o,(sockaddr *)&recv,sizeof(recv));
...
ある実施例においては、かかるクエリがヌル結果を返すと315、IPDTは検索が失敗であることを示すメッセージをユーザに表示し、ユーザの要求があると310を続ける。クエリが少なくとも1つの結果を返すと315、IPDTは、利用可能なターゲットデバイスのリスト325を生成して330を続ける。
図3Cは、IPDT動作の実施例のテザーターゲットとの接続の側面を示している。IPDTは、ターゲットが物理的テザーであるかどうかを決定する342。例えば、大型テレビに直接に差し込まれるドックコネクタケーブルへのiPhoneビデオAVなどの直接的なオーディオ/ビデオ接続で、物理的テザー342を介してターゲットデバイスが接続されている場合、IPDTアプリケーションは、物理的テザーを介してより大型のディスプレイデバイスにソースデバイス344の表示に関連付けられたデータの通信を開始し、アプリケーションはより大型のディスプレイを最大限に利用し続ける349。代替的な実施例においては、物理的テザーは、WiFiを介して接続されるWiFiYW−2アダプターを有するカシオXJ−S57である。ある実施例においては、ソースデバイスは、例えば、コンポーネントVideoS−Video、HDMI、VGA、DVI、DisplayPortなどの(但し、これらに限定されない)様々なフォーマットで物理的テザーを介してデータをターゲットデバイスに送信する。
ある実施例においては、ターゲットが物理的テザーでなければ342、IPDTはターゲットがプロセッサベースのデバイス/エンティティであるかどうか決定する350。そうでなければ、テザーが失敗であることを示すメッセージをユーザに表示し、IPDTはユーザの要求の際に330で処理を行ってもよい。ある実施例においては、リモートデバイスがプロセッサベースのデバイスであれば350、ソースデバイスは、ターゲットデバイスがリモートデバイスとして補足的アプリケーションコードを実行することができるかどうかを認識してもよい。例えば、リモートデバイスが分散オブジェクト指向アプリケーションを起動しているかどうか351、リモートデバイスがウエブサーバを起動しているかどうか352、リモートデバイスが(例えば、citrix、VNCなど)リモートディスプレイクライアント353またはウエブブラウザ354を起動しているかどうかである。既に説明したように、デバイスは(例えば、ボンジュール、SLP、UPnP、ジニ、ブルートゥースサービスディスカバリープロトコル、WS−ディスカバリー、UDPを使用するプロプラエタリディスカバリープロトコルなどの)ゼロ構成プロトコルに基づいてブロードキャストしている場合またはプロプラエタリ通信要求に応答している場合、テザーターゲットはプロセッサベースである。
ある実施例においては、ターゲットコンピュータがウエブブラウザを起動している場合354、ソースデバイスはウエブサーバを起動する。例えば、ソースデバイスがUNIXを実行するiPhoneである場合、アパッチ情報サーバはIPDTコンポーネントの一部であり、その情報サーバのインスタンスが作成されてもよい。その点で、ソースデバイスは、ボンジュールなどのゼロ構成ネットワークプロトコルを介してIPアドレスを提供及び/又はそれ自体を登録することができ、ユーザはソースデバイス上でウエブサーバへナビゲートするのにターゲットマシン上のウエブブラウザを使用してもよい。ある実施例においては、iPhoneはソースデバイスであり、アパッチウエブサーバを起動し、ターゲットデバイス(例えば、ラップトップ)のユーザはWiFi接続でiPhone上のウエブサーバのIPアドレスへナビゲートする。この点で、カスタム通信チャネルはソースデバイスとターゲットデバイスの間で確立され347、ソースデバイスは、リモートターゲットのインスタンスを作成するために、例えば、ターゲットウエブブラウザが実行可能なアプリケーションを提供するために348、そのウエブサーバを介して命令を与える。この点で、ソースアプリケーションは、IPDTアプリケーションを使用し349、そのソースディスプレイをリモートディスプレイに与える経路としてカスタムアプリケーションチャンネルを使用してもよい。例えば、ソースデバイスウエブサーバは、ターゲットデバイスにリモートディスプレイ閲覧能力を与えるJava及び/又はフラッシュアプレットを有してもよい。別の実施例として、TightVNC・Javaビューア・アプレットは、ターゲットウエブブラウザによってリモートiPhoneアパッチウエブサーバからダウンロードされ、(例えば、IPアドレス、設定ユーザ/パスワード鍵などの)構成でインスタンス作成され、ソースデバイスに接続されたVNCサーバに接続する。このようにして、ターゲットデバイスウエブブラウザはソースデバイスのためのリモートディスプレイになる。ある実施例においては、ソースデバイスウエブサーバは、ターゲットデバイスウエブブラウザにそのウインドウを画面のフルサイズまで広げるように命令してもよく、その結果、ソースデバイスで表示を映しながら拡大閲覧領域を提供する。
ある実施例においては、ターゲットデバイスが、ボンジュールなどを介して接続可能なビジュアル・ネットワーク・コンピューティング(VNC)、アップルのリモートディスプレイ技術などのリモートデスクトップ共有コンポーネントを既に有する場合353、ユーザは(例えば、IPアドレス、ユーザ/パスワード、オペレーティングシステムの適切な領域にアクセスするヘルプなど)ターゲットデバイスに何を入力するかを命令する画面で接続終了し、カスタム通信チャネルを構成するように促される347。ある実施例においては、ソースデバイスは、アップルOS・Xファインダーアプリケーションの共有領域において閲覧可能となり、画面共有のために選択されるIPDTコンポーネントの一部としてVNCサーバを接続し、それによって、ソースデバイスのディスプレイをターゲットに投射するためにリモートターゲットのインスタンスを作成する348。この点で、IPDTアプリケーションは、349を実行し続けることができる。例えば、ある実施例において、ボンジュールに基づくサービスに接続するiPhoneのためのC++実装は、以下と同様の形態を採ることができる。

// Connecting to a Service

NSNetService *service;
NSInputStream *istream = nil;
NSOutputStream *ostream = nil;

[service getInputStream:&istream outputStream:&ostream];
if (istream && ostream)
{

// ...

}
ある実施例においては、ターゲットデバイスが、ソースデバイス352と通信するように構成されたカスタムアプリケーション351、及び/又は、ウエブサーバのどちらかを起動している場合は、ソースデバイスには、それが交信可能な幾つかのチャネルを有する。分散オブジェクト指向アプリケーションの場合には、接続を確立するためにオブジェクト指向方法発呼がターゲットアプリケーションに送信されてもよい。これらのカスタムアプリケーションは、上述したように、同様のリモートディスプレイ技術を使用してもよい。別の実施例においては、ソースアプリケーションが、OpenGL、フラッシュ、及び/又は、アップルのOS・X開発SDKなどのグラフィックス作成エンジンを使用し、かかるグラフィックスライブラリスケールがデバイス表示能力に依存し、ソースデバイスが入力装置として使用され、ターゲットデバイスはソースデバイスに保存されたIPDTアプリケーションのよりロバストなバージョンを起動できる。
多くの方法でIPDTアプリケーションのよりロバストなバージョンがターゲットデバイスに提供可能である。ある実施例においては、IPDTソースアプリケーションは、アプリケーションの多数のバージョンを有するディレクトリを有し、より精巧なバージョンをターゲットデバイスに転送する。別の実施例においては、IPDTソースアプリケーションは、ウエブリンクを有し、ターゲットデバイスに自動的により精巧なアプレット、及び/又は、アプリケーションをダウンロードさせ、それをインストールさせてインスタンスを作成させる。IPDTアプリケーションのターゲットバージョンのインスタンスの作成に際して、ソースIPDTアプリケーションは、通信チャネル347を介して送信されるユーザ入力信号だけをインスタンス作成されたリモートターゲットに提供し、リモートアプリケーションがそれらの命令を解釈してよりロバストな方法でアプリケーションを実行する348。例えば、制御部としてiPhoneを使用する(例えば、iGolfの)ゲームはターゲットのラップトップにロードされたよりロバストなバージョンのiGolfを有し、iPhoneソースデバイスの加速度計入力を使用してターゲットデバイスのゲームの実行を指示する。
図3D−3Fは、IPDT動作においてIPDTゲーミングアプリケーションの側面を示す、アップルiPhoneからのスクリーンショットの例である。図3Dでは、ユーザは、IPDTゲーミングアプリケーション370を実行するオプションが提供され、「対戦」を選択すると、ユーザはゲーミング接続オプションのリストを提供される372。ある実施例においては、ユーザは「ブルートゥース」を選択すると、IPDTはWiFi373を介して別のiPhoneまたは他のテザーターゲットデバイスを検索し、利用可能なテザーターゲットのリストをユーザに提供する375。ユーザはその後テザーターゲットを選択し378、そのテザーターゲットに接続する380。(別のiPhoneの場合に)テザーターゲットへの接続を確立すると、IPDTアプリケーションはソースデバイスとテザーターゲットの両方に使用されてもよい382と383。ある実施例においては、IPDTアプリケーションは、383に示し、図5A−5Dと開示を通じて更に詳細に説明されるように、2人以上のユーザがゲームを共同プレイすることを容易にする。
ある実施例においては、図3Eに示すように、ユーザが「対戦」メニュー372の「ロビーリスト」を選択すると、IPDTはゲーミングホストサーバ374の利用可能な「ロビー」リストを提供する。ユーザがロビーを選択する際に、IPDTはホストサーバ376/378に接続してユーザデバイス382/383にテレビゲームをロードする。別の実施例においては、図3Fに示すように、ユーザが370で「マーケット」を選択すると、IPDTアプリケーションは販売用のゲーミング特徴機能を提供してもよい386。別の実施例においては、ユーザが370で「ソーシャル」を選択する場合には、IPDTアプリケーションは、ユーザのゲームミングフィードを公開するオプションを(例えば、Facebookなどを通じて)提供してもよい388。
ある実施例においては、IPDTアプリケーションが使用されている場合、ソースデバイスは様々なデータ形式でターゲットデバイスに制御情報とデータペイロードを送信する。図4は、IPDT動作の実施例においてソースデバイスからターゲットデバイスに送信されるデータ形式の例を示している。ある実施例においては、ソースデバイスは、メッセージの種類405、シーケンス番号406、承認番号407、データオフセット408、データ長409、チェックサム410、オプション411、データペイロード412などのフィールドを含むバイナリーデータパケット402を通じてプロセッサベースのターゲットデバイスにデータを送信してもよい。データ412は、加速度計情報、(画面を押す)ポインタの座標、画像、GPS情報、ユーザ情報などを含むが、これらには限定されない。例えば、ある実施例においては、データ412は、ユーザID、デバイスIDなどを含む64バイトのユーザ情報フィールド、三次元座標(x、y、z)、64バイトの緯度/経度値、64バイトのポインタ座標値(x、y)、32バイトの画像の長さの値を含む96バイトの加速度計情報、および、画像の生データやビデオ時間情報などの可変長を有するデータに類似する形態を採ることができる。ある実施例においては、画像の生データは、VNCビデオ伝送データフォーマット、及び/又は、VNCビデオ伝送データストリームを分離するポインタに従って生成および送信される。ある実施例においては、ポインタは、ファイルシステムの.vncファイルへ示し、ホスト、ポート、パスワード、オプション(例えば、ビット深さ、マウス設定、スケール、エミュレーション、クリップボードなど)、およびセッションなどのエクステンションを特定するように当該ファイルのコンテンツを組み込む。ある実施例においては、リモート・フレームバッファ・プロトコル(RFB)が使用され、それは、ここで参照されて共に明示的に結合される、リモート・フレームバッファ・プロトコル、トリスタン・リチャードソン(RealVNC社)、2009年10月26日、<http://www.realvnc.com/docs/rfbproto.pdf.>およびディスプレイ・フィルタ・レファレンスにおけるバーチャル・ネットワーク・コンピューティング<http://www.wiresshark.org/docs/dfref/v/vnc.html.>において見ることができる。
別の実施例においては、ソースデバイスとターゲットデバイスは、コモン・オブジェクト・リクエスト・ブローカー・アーキテクチャ(CORBA420)機構を介してデータを交換する。例えば、ソースデバイスとターゲットデバイスは一連のオブジェクトを定義し、これらは、加速度計の状態、デバイス位置の情報を含むGPS、画面におけるユーザインタラクションの情報を含むポインタ、スクリーンストリームを含む画面、及び/又は、データストリームと所与のアプリケーションに関する構造を含む他のデータ構造に関する情報であるが、これらには限定されない。ある実施例においては、ソース/クライアントデバイス422は、オブジェクトレファレンス425、オブジェクト要求ブローカー429を起動する生成スタブコード427とインターフェース接続し、ネットワーク接続430を介してターゲットデバイス445と通信する。ターゲットデバイスは、オブジェクト実装440、ターゲットデバイス側オブジェクト要求ブローカー435を起動する生成スケルトンコード437を含むことができる。例えば、ある実施例においては、CORBAの下でデータオブジェクトを定義するC++実装は以下と同様の形態を採ることができる。
//Define Accelerometer Data Object

class AccelerometerDataService : public PortableServer::RefCountServantBase
{
public:
AccelerometerDataService();
virtual -AccelerometerDataService();
virtual CORBA: :Boolean Update( CORBA: :Long x,
CORBA: :Longy,
CORBA: :Longz);
};

...
CORBA:: Boolean AccelerometerDataServicexUpdate (
CORBA:: Long x,
CORBA: :Long y,
CORBA: :Long z)
{

return true;
}
ある実施例においては、CORBAの下でサーバに接続するC++実装は以下と同様の形態を採ることができる。

//Connecting to the Server
...
CORBA_ORB_var orb=CORBA_ORB_init(argc, argv);
const char* refFile="AccelerometerDataService.ref ';
if stream in;
in.open(refFile);
CORBA_Object_var obj=orb->string_to_object(s);

AccelerometerDataServiceads = AccelerometerDataService::_narrow(obj);
ads->update(x,y,z);
...
図5Aは、ソースデバイス550が通信ネットワーク555でターゲットデバイス551と通信路を確立する共同プレイを有するインターラクティブなプロキシミティディスプレイのテザー(以下、「共同プレイIPDT」)の実施例を示している。ある実施例においては、ターゲットデバイス351は、ケーブル557を介してディスプレイデバイス553に接続され、ターゲットディスプレイデータをディスプレイデバイスに送るように構成されている。さもなければ、ターゲットデバイス551はターゲットのディスプレイで、または、デュアルモニタ実装としてディスプレイデバイス553と組み合わせて共同プレイIPDTデータを表示してもよい。
ある実施例においては、ターゲット551の処理能力に依存して、ソースデバイス550は、共同プレイIPDTのためのクライアントの機能性を容易にする表示用データをターゲットデバイス551に送信しながら通信/処理を実行するサーバの機能性を駆動することができる。代わりに、ソースデバイス550は、ターゲットデバイス551にデータ処理機能を負担させ、サーバの機能性を容易にしてもよい。この場合、ソースデバイス550はクライアントの機能性を容易にするだろうが、ターゲットデバイス551は共同プレイIPDTのためにサーバの機能性を容易にするだろう。
ある実施例においては、第2のモバイルデバイス‐クライアントデバイス552は、共同プレイIPDTに組み込まれる。ある実施例においては、クライアントデバイス552の通信路が、ソースデバイス550と通信ネットワーク556で確立される。一旦通信路が確立されると、クライアントデバイスは、デバイスのユーザ操作を検知してIPDTでソースデバイス550にデータを送信するように構成されてもよい。ソースデバイス550がサーバの機能性を容易にしている場合、ソースデバイス550は、クライアントデバイス552からのデータを処理し、表示用にターゲットデバイス551に転送してもよい。一方、ソースデバイス550がクライアントの機能性を容易にしてターゲットデバイス551がサーバの機能性を容易にしている場合、ソースデバイス550は、クライアントデバイス552からユーザ操作データを中継する経路として単純に動作する。ある実施例においては、共同プレイIPDTは、クライアントデバイス552とソースデバイスは、ターゲットデバイス551またはディスプレイデバイス553によって表示されるパーシステントプラットホームゲームプレイと相互作用することを容易にするように構成される。例えば、ある実施例においては、各デバイス550と552とのユーザインタラクションは、それぞれ第1及び第2のアバター558と559によって表された、iGolfゲームにおいてリアルタイムで表示される。
図5Bは共同プレイIPDTの別の実施例を示している。ある実施例においては、ソースデバイス560とターゲットデバイス561は、通信ネットワーク565で通信路を確立する。ソースデバイス560とターゲットデバイス561も、どちらのデバイスがサーバの機能性を容易にし、どちらのデバイスが上述したようにサーバの機能性を容易にするのかを交渉する。しかしながら、ソースデバイス560を通じて通信路を確立して共同プレイIPDTと通信するクライアントデバイス562の代わりに、ソース/ターゲットデバイスのクライアント/サーバの機能性が確立された後で、クライアントデバイス562が通信ネットワーク366でターゲットデバイス561を通じて通信路を確立して共同プレイIPDTと通信する。そこで、図5Bの共同プレイIPDTは、クライアントデバイス562とソースデバイスが、ターゲットデバイス561またはディスプレイデバイス563によって表示されるパーシステントプラットホームゲームプレイで相互作用することを容易にする。例えば、各デバイス560と562とのユーザインタラクションは、それぞれ第1及び第2のアバター568と569で表された、iGolfゲームにおいてリアルタイムで表示されてもよい。
図5Cは共同プレイIPDTの代替的な実施例を示している。ソースデバイス570とターゲットデバイス571は、上述したように、通信ネットワーク574でサーバ/クライアントの機能性を確立する。しかしながら、クライアントデバイス572−Aは、通信ネットワーク576でクライアントデバイス572−Bと最初に接続することによって共同プレイIPDTに参加し、クライアントデバイス572−Bが次に共同プレイIPDTを達成するためにターゲットデバイス371に参加してもよい。ある実施例においては、ターゲットデバイス571がサーバの機能性を容易にし、それにより、ソースデバイス570とクライアントデバイス572−A/572−Bからのユーザ入力の処理を駆動する。一旦クライアントデバイスデータがターゲットデバイス571によって処理されると、ターゲットデバイス571は、そのディスプレイで及び/又はテザーされたディスプレイ574Aを介して、パーシステントプラットホームゲームプレイを表示してもよい。ある場合には、ターゲットデバイス571は、クライアントデバイス572Bまたはテザーされたディスプレイ573Bにおける表示用に表示データをクライアントデバイス572Bに返送してもよい。例えば、各デバイス570と572Aとのユーザインタラクションは、第1と第2のアバター578と579によって表される、iGolfゲームにおいてリアルタイムでディスプレイ573−A/573Bにパーシステントプラットホームゲームプレイとして表示されてもよい。
図5Dは、図5Cに示す実施例と類似の共同プレイIPDTの別の実施例を示している。ある実施例においては、ターゲットデバイス581は、サーバの機能性の代わりにクライアントの機能性を容易にし、本実施例においてソースデバイス580によって容易にされる。そのため、ソースデバイス580は、クライアントデバイス582Bと581を通じて通信される通信ネットワーク584、585および586を介してクライアントデバイス582Aと同様に、ソースデバイス580からユーザインタラクションデータを受信および処理する。一旦受信すると、ソースデバイス580は、ユーザインタラクションデータを処理して処理済のユーザインタラクションデータをターゲット581とクライアント582Bに表示用に返信する。例えば、各デバイス580と582Aとのユーザインタラクションは、第1と第2のアバター578と579によって表される、iGolfゲームにおいてリアルタイムで、パーシステントプラットホームゲームプレイとしてディスプレイ583−A及び/又は583Bに表示されてもよい。
図6Aは、共同プレイIPDT動作のある実施例における論理フロー全体の実施例を示している。図示された論理フローは、利用可能なクライアントデバイスと同様に、モバイルソースデバイスをリモートディスプレイとしてのターゲットデバイスに結合するのにCitrixまたはVNCなどのリモート・アクセス・ソフトウェアを使用する共同プレイIPDTの実施例に関する。ユーザは、モバイルデバイスをつけることやアプリケーションアイコンを選択することなどしてモバイルソースデバイスアプリケーション601を使用してもよい。ある実施例においては、アプリケーションとリモート・アクセス・ソフトウェアの両方がモバイルソースデバイスで使用される。リモートディスプレイターゲットデバイスのアプリケーションは、モバイルデバイスをつけることやアプリケーション(例えば、リモート・アクセス・ソフトウェア)を選択することなどによっても使用可能となる604。モバイルソースデバイス及び/又はリモートディスプレイターゲットデバイスは、例えば、相手をピングすることによって607、相手デバイスへのデータリンクをチェックしてもよいし、データリンクが確立されたかどうかについて決定がなされてもよい610。そうでなければ、モバイルソースデバイス、及び/又は、リモートディスプレイターゲットデバイスは、例えば、ネットワーク接続を修理及び/又はリフレッシュすること、ユーザインターフェースを介してエラーメッセージを提供すること、ユーザに通信コンポーネントをチェックすることを要求することによってなどを行うことによって613、データリンクの確立を再試行してもよい。
一旦ソースデバイスとターゲットが実行可能な通信路を確立すると、共同プレイIPDTは追加のクライアントデバイスが共同プレイIPDT616組み込み用に利用可能であるかどうかチェックしてもよい。そうであれば、通信路が確立される607−610。そうでなければ、センサコンポーネントは、モバイルソースデバイスのアプリケーション構成622にユーザインタラクション更新をもたらすセンサ入力619を受信してもよい。例えば、ある実施例においては、センサ入力は、加速度計によって検出可能な動き状態を含んでもよい。この動き状態は、ビデオゲームなどのモバイルデバイスアプリケーションのコンテクストでアバターまたは他の仮想エンティティの仮想的な動き状態に翻訳されてもよい。送信期間が終了したかどうかについて決定がなされてもよい625。そうでなければ、ユーザのソース/クライアントデバイスは、期間を待機して628、新しい入力がセンサ631から受信されたかどうかをチェックする。そうであれば、ユーザデバイスは、センサ入力、及び/又は、対応する最新のアプリケーション構成を表示信号キャッシュ634に追加して新しいセンサ入力619を受信処理してもよい。そうでなければ、ユーザのソース/クライアントデバイスが625に戻って、送信期間が終了したかどうかをチェックしてもよい。一旦送信期間が終了するとユーザのソース/クライアントデバイスは、現在、及び/又は、最新のアプリケーション状態638に対応する表示信号メッセージを構成する。例えば、ある実施例においては、表示信号は、現在、及び/又は、最新の位置、及び/又は、ビデオゲームにおけるアバターの動き状態を表してもよい。
ソースデバイスがサーバの機能性を容易にする実施例においては、ユーザのソース/クライアントデバイスはCitrix、VNCなどのソースデバイスでリモート・アクセス・ソフトウェアを更新し641、対応する表示信号をリモートディスプレイターゲットデバイスに送信してもよい644。ターゲットデバイス644のリモートディスプレイは、次いで、ディスプレイの画面647などのように表示信号のビジュアライゼーションを与えてもよい。共同プレイIPDT動作650を続行するかどうかに関して決定がなされてもよい。そうであれば、ユーザのソース/クライアントデバイスは、更なるセンサ入力619を受信する。さもなければ、共同プレイIPDTが完了する653。
図6Bは、共同プレイIPDT動作の別の実施例における論理フロー全体の実施例を示している。図6Bに示す論理フローは、例えば、モバイルデバイスアプリケーションデータをインターネットに接続されたターゲットデバイスによる検索に供するためにウエブサイトに公開することによって、モバイルソースデバイスをリモートディスプレイターゲットデバイスと結合するのにウエブサーバーソフトウェアを使用するユーザのソース/クライアントデバイスの実施例に関する。ユーザは、例えば、モバイルソース/クライアントデバイスをつけること、アプリケーションアイコンを選択することなどによって、ユーザのソース/クライアントデバイスアプリケーション656を使用してもよい。ある実施例においては、アプリケーションとウエブサーバーソフトウェアの両方がモバイルデバイスで使用されてもよい。ユーザのソース/クライアントデバイスのセンサコンポーネントは、モバイルデバイスアプリケーション構成662に更新をもたらすセンサ入力659を受信してもよい。HTTP要求などのウエブクライアントデータ要求が受信されたかどうかについて決定がでなされてもよい665。そうでなければ、ユーザのソース/クライアントデバイスは、期間を待機して668、新しい入力がセンサから受信されたかどうかをチェックしてもよい672。そうであれば、次に、ユーザのソース/クライアントデバイスは、最新のセンサ入力及び/又は対応するアプリケーション構成を表示信号キャッシュに追加して675、新しいセンサ入力を受信処理してもよい659。さもなければ、ユーザのソース/クライアントデバイスは、ウエブクライアントデータ要求が受信されたかどうかをチェックするために、665に戻ってもよい。代替的実施例においては、ウエブクライアントデータ要求が受信されたかどうかに拘らず、ユーザのソース/クライアントデバイスは表示信号をターゲットデバイスに送信してもよい。この実施例においては、ユーザのソース/クライアントデバイスは表示信号を中間記憶部に送信してもよい。記憶部は、その後、ウエブクライアントデータ要求の受信を監視したり、一以上の現在または過去の表示信号を、データ要求を提供するウエブクライアントに提供したりしてもよい。
一旦ウエブクライアントデータ要求が受信されると、ユーザのソース/クライアントデバイスは、現在及び/又は最新のアプリケーション状態678に対応する表示信号メッセージを構成してもよい。構成された表示信号は、ウエブサーバーソフトウェア681を介してワールド・ワイド・ウエブ上で公開されてもよい。公開アプリケーション状態コンテンツは、例えば、アプリケーション状態データがホストされる684のウエブサイトにアクセスすることによって、一以上のリモートディスプレイターゲットデバイスによってアクセスされてもよい。ある実施例においては、アプリケーション状態データは、アドビフラッシュなどのマルチメディアプラグインに従って構成された、統合ビデオ、アニメーション、リッチインターネットアプリケーションなどとしてウエブサイトに表現されてもよい。リモートディスプレイにアプリケーション状態の表示を更新するかどうかについて687で決定がなされてもよい。そうであれば、追加のセンサ入力が659で受信される。そうでなければ、共同プレイIPDTセッションは終了する690。
図7Aは、共同プレイIPDTの支払いモデルを示すブロック図である。ある実施例においては、中央サービス705は購読710を介して、あるいは、個別の購入ベースで提供アプリケーション715を提供してもよい。例えば、提供は、アップルアプリストアなどのサービスを介して設定金額(例えば、各アプリケーション1.99ドル)で購入される必要があるまたは購読サービスを介してアクセス提供可能である。ある実施例においては、サービスアプリケーションはソースデバイスにダウンロードされてもよい。一旦購入されたサービスアプリケーションは、鍵の組に基づいて特定期間、無料でゲーム/提供720をダウンロードするように動作してもよい。例えば、サービスアプリケーション705の購入日は提供715を与える根拠として使用されてもよい。例えば、2009年1月1日にアプリストアを通してサービスアプリケーション(例えば、iPlay)が購入され、購入されたiPlayのバージョンは1年の購読(例えば、19.99ドル)である場合、2010年1月1日まで入手されたどんな提供もiPlayアプリケーションの中で承認鍵にアクセスするように働き、その鍵がその年の終わりに期限が切れる。
図7Bは、共同プレイIPDTの画面を示すブロック図である。ある実施例においては、購読モデルは、それ自身のアプリケーション725で包装されて、アイコンとスプラッシュスクリーンを含む完全なアプリケーションとしてソースデバイス727上で実行される。購読モデルのiTennisなどの提供730は、使用説明書740とゲーム画面を有する完全なアプリケーションとして働く。提供の固定バージョンは購読外となれば、チャック式外観735を有し、新規購読の下で解放されてもよい。
インターラクティブ拡張
共同プレイIPDTへの別の特長はアプリケーションとの相互作用を拡張することができる特徴を伴う。かかる拡張は電子ゲームの領域で特に有益である。例えば、iPhoneなどのソースデバイスが大画面コンピュータなどのターゲットデバイスにテザーされている場合、ソースデバイスは通信テザーでその表示情報を送信するとゲームデータ/命令をターゲットデバイスに中継するゲームコントローラ入力装置になってもよい。例えば、ユーザはテニスラケットと同等のものとしてiPhoneを使用し、IPDTコンポーネントで容易にされるiTennisアプリケーションの提供を通じて仮想テニスゲームをプレイする。ラケットを振るためのテニスラケットハンドルとしてiPhoneを使用することを超えて、iPhone3D加速度計がガットの力学を取得するために測定される場合には、タッチスクリーンを使用することによってIPDTは特徴機能を更に広げることができる。例えば、ある実施例においては、ユーザは、ゲームで余分のパワー増加を得るためにiPhoneを振るときに、ラケット上に仮想テニスガットを一緒に鋏む。さらに、ユーザは、ラケットのガットの緩急を付けるのにマルチタッチジェスチャーを使用して、それはIPDTアプリケーションの追加入力として使用され、ゲームの力学(例えば、ガットを緩めてパワーを増強するが、精度を減少させる)に影響を与える。
また、共同プレイIPDTは自宅ユーザ(例えば、ゲーム)プロフィールと進歩に使用されてもよい。このようにして、(例えば、iMee)などのユーザのアバターとアカウントは、ターゲットデバイスがインターネットに接続不能及び/又はその能力がないかその他の点ではユーザプロファイルにアクセスする場合であっても、ソースデバイスでアクセスされてもよい。ある実施例においては、プロフィールは、インターネットのサービスからiPhoneなどのソースデバイスにキャッシュ及び/又はミラーされる。これらの設定は、ターゲットデバイスに転送、及び/又は、テザーでアクセスされてもよい。更に、かかるアバターと設定は他のIPDTアプリケーション提供と対話するのに使用されてもよい。例えば、二人の異なるユーザからのiPhoneなどの二台以上のソースデバイスは、同時に、単一のターゲットデバイスにテザーされて、ターゲットアプリケーション上で単一のアプリケーションスペースを共有するように許可されてもよい。例えば、二台のソースデバイスの一つは、ホストアプリケーションとして機能し、もう一方のソースデバイスとの通信を受け付けることができる。従って、各ユーザが仮想的なアバターを有する実施例においては、2つのアバターは、ターゲットディスプレイの共用スペースで同時に制御されてもよい。更に、そのような即興のターゲット仮想スペースは当事者間の取引のソースであってもよい。例えば、アバターはデジタルオブジェクト(例えば、ゲームの強化兵器及び/又は装置のための金貨)に対するデジタルキャッシュなどの貴重なデジタルアセットを取り引きしてもよい。ある実施例においては、iPhoneなどの全ソースを収納する一般的なマルチプレイヤーディスプレイ、プレイヤーは単一のターゲットデバイス上で見られるかもしれないが、ソースデバイスのディスプレイは各ユーザに私的な別のビューを有してもよい。かかる実施例においては、ユーザは、ターゲットディスプレイ上の共通領域で対話し、それら自身のパーソナルディスプレイの上で二次的及び/又はプライベート/秘密戦略活動に従事してもよい。
別の実施例においては、大型コンピュータディスプレイまたはテレビのような単一のターゲットディスプレイは卓球またはテニスのような高い運動ゲームを2人以上のプレイヤーがプレイすることを許容するだろう。別の実施例においては、IPDTは、ソースデバイスが殆ど全てのターゲットデバイスを即興プレゼンテーションディスプレイデバイスに替えることを可能にする。
図7Cは、ある実施例における共同プレイIPDTの異なるアプリケーションの側面を示している。これらはゴルフ、ボーリング、ビリヤード、野球、シャッフルボード、釣りなどのゲームを含むが、これらに限定されるものではない。
図8は、ある実施例におけるゴルフクラブとして構成された共同プレイIPDT筺体の実施例を示している。アップルiPhoneなどのモバイルデバイスは、ゴルフゲームのゴルフクラブ、テニスゲームのテニスラケット、魚釣りゲームの釣竿、野球ゲームの野球用バットなどのゲーム用器具として形成された筺体に固定可能である。
IPDT制御部
図9は、ブロック図にIPDT制御部901の発明的側面を示している。この実施例においては、IPDT制御部901は、ネットワーク技術を通じたコンピュータとの対話及び/又は他の関連データを統合、処理、格納、検索、提供、識別、命令、生成、適合、及び/又は、助長する機能を有する。
通常、人、及び/又は、他のシステムであるユーザは、情報処理を容易にするために、情報技術システム(例えば、コンピュータ)を使用する。代わりに、コンピュータは、情報を処理するのにプロセッサを使用する。かかるプロセッサ903は、中央演算処理装置(CPU)と呼ばれる場合がある。プロセッサの一形態はマイクロプロセッサと呼ばれる。CPUは、様々な動作を可能にする命令として作用するバイナリーコード信号を送信するのに通信回路を使用する。これらの命令は、メモリ929(例えば、レジスタ、キャッシュメモリ、ランダムアクセスメモリなど)の様々なプロセッサがアクセス可能で動作可能な領域において、操作的及び/又は他の命令とデータを包含及び/又は参照するデータ命令であってもよい。かかる通信命令は、バッチ(例えば、命令のバッチ)にプログラムとして、及び/又は、所望の操作を容易にするデータコンポーネントとして、格納及び/又は送信されてもよい。これらの保存された命令コード(例えば、プログラム)は、所望の操作を実行するためにCPU回路コンポーネントと他のマザーボード、及び/又は、システムコンポーネントを使用してもよい。ある種のプログラムはコンピュータのCPUによって実行可能なコンピュータオペレーティングシステムである。オペレーティングシステムは、ユーザがコンピュータ情報技術とリソースにアクセス及び操作することを可能及び容易にする。情報技術システムに使用される幾つかのリソースは、データがコンピュータに送入出される入出力機構、データを保存可能なメモリストレージ、及び、情報を処理可能なプロセッサを含む。これらの情報技術システムは、データベースプログラムで容易化され、その後の検索、分析、および操作のデータを収集するのに使用されてもよい。これらの情報技術システムは、ユーザが様々なシステムコンポーネントにアクセス及び操作するインターフェースを提供する。
ある実施例においては、IPDT制御部901は、ユーザ入力装置911、周辺機器912、選択的な暗号プロセッサデバイス928、及び/又は、通信ネットワーク913から一以上のユーザなどの(ただしこれらに限定されない)エンティティに接続され、及び/又は、通信することができる。
ネットワークは、グラフトポロジーにおいてクライアント、サーバおよび中間ノードの相互連結と共同動作を有すると一般に考えられている。本出願で使用される「サーバ」という用語は、一般に、通信ネットワークでリモートユーザの要求を処理および応答するコンピュータ、他のデバイス、プログラムまたはそれらの組み合わせを意味することに留意すべきである。サーバは要求する「クライアント」にその情報を提供する。ここで使用される「クライアント」という用語は、一般に、要求を処理及び作成して通信ネットワークでサーバからの応答を取得及び処理するコンピュータ、プログラム、他のデバイス、ユーザ、及び/又は、それらの組み合わせである。情報を容易化及び処理し、ソースユーザから目的ユーザまでの情報の移動を要求及び/又は助長するコンピュータ、他の装置、プログラムまたはそれらの組み合わせは、一般に、「ノード」と呼ばれている。ネットワークは、一般に、ソースポイントから目的地までの情報の転送を容易にすると考えられている。ソースから目的地までの情報の送信を促進する仕事を特に負うノードは、一般に「ルータ」と呼ばれている。ネットワークには、ローカル・エリア・ネットワーク(LAN)、ピコネットワーク、ワイド・エリア・ネットワーク(WAN)、ワイヤレスネットワーク(WLANs)など多くの形態がある。例えば、インターネットは、多数のネットワークの結合であるとして一般に受け入れられており、これによってリモートクライアントとサーバが互いにアクセスして協働することができる。
IPDT制御部901は、メモリ929に接続されたコンピュータ組織902などのコンポーネントを含む(但し、それらに限定されない)コンピュータシステムに基づくことができる。
コンピュータ組織
コンピュータ組織902は、クロック930、中央演算処理装置(「CPU」及び/又は「プロセッサ」(特に断らない限り、これらの用語は開示中交換可能に使用される))903、メモリ929(例えば、リードオンリーメモリ(ROM)906、ランダムアクセスメモリ(RAM)905など)、及び/又は、インターフェースバス907を有し、常にではないがごく頻繁に、全てはシステムバス904を介して、命令(例えば、バイナリーコード信号)が通信、動作、格納などの効果を与えるために移動する導電及び/又は伝送回路経路を有する一以上の(マザー)ボード902上で、相互接続及び/又は交信する。選択的に、コンピュータ組織は、内部電源986に接続されてもよい。選択的に、暗号プロセッサ926は、システムバスに接続されてもよい。システムクロックは、典型的に、水晶発振器を有し、コンピュータ組織の回路経路を通ってベース信号を生成する。クロックは、典型的に、システムバスと、コンピュータ組織において内部接続された他のコンポーネントのためにベース操作周波数を増減する様々なクロック乗算器に結合されている。コンピュータ組織にけるクロックと様々なコンポーネントは、システムに亘って情報を具体化する信号を駆動する。コンピュータ組織に亘る情報を具体化する命令のこのような送受信は、一般に通信と呼ばれている。これらの通信命令は、本コンピュータ組織を越えて通信ネットワーク、入力装置、他のコンピュータ組織、周辺機器などへ更に送信、受信され、返信及び応答の通信の原因となる。もちろん、上記コンポーネントの幾つかは、互いに直接接続され、CPUに接続され、及び/又は、様々なコンピュータシステムによって例示されるように採用された様々な変形において組織されてもよい。
CPUは、ユーザ及び/又はシステムが生成した要求を実行するプログラムコンポーネントを実行するのに適した少なくとも一の高速データプロセッサを有する。しばしば、プロセッサ自体が、統合システム(バス)コントローラ、メモリ管理制御装置、浮動小数点ユニット、およびグラフィック処理装置、デジタル信号処理装置などの専門処理サブユニットなどの(但し、これらには限定されない)様々な専門処理装置を組み込んでいる。
また、プロセッサは、内部高速アクセスアドレス付けが可能なメモリを有してもよく、メモリ529を、プロセッサ自身を超えてマップ付け及びアドレス付けしてもよい。内部メモリは、高速レジスタ、様々なレベルのキャッシュメモリ(例えば、レベル1、2、3など)、RAMなどを含んでもよいが、これらには限定されない。プロセッサは、このメモリに、命令アドレスを介してアクセス可能なメモリアドレススペースの使用を通じてアクセスし、それはプロセッサが作成及び解読可能で、それによりプロセッサはメモリ状態を有する特定のメモリアドレススペースに回路経路をアクセスさせることができる。CPUは、AMDのAthlon、Duron及び/又はOpteron、ARMのアプリケーション、埋め込みおよび安全なプロセッサ、IBM及び/又はモトローラのドラゴンボールとPowerPC、IBMとソニーのセルプロセッサ、インテルのセレロン、コア(2)デュオ、Itanium、ペンティアム、Xeon及び/又はXScale、及び/又は、その他の類似のプロセッサなどのマイクロプロセッサであってもよい。CPUは、伝導及び/又は伝送路(例えば(印刷)電子及び/又は光回路)を通じて移動する命令を通じてメモリと対話し、従来のデータ処理技術に従って保存された命令(即ち、プログラムコード)を実行させる。そのような命令送信は。IPDT制御部内と様々なインターフェースを越えた通信を容易にする。処理要件が、より高速及び/又は大容量を必要としている場合には、分散プロセッサ(例えば、分散IPDT)、メインフレーム、マルチコア、パラレル、及び/又は、スーパーコンピュータアーキテクチャが同様に使用されてもよい。代替的に、展開要件がより優れた携帯性を必要とする場合には、より小さいパーソナルデジタルアシスタント(PDA)が使用されてもよい。
特定の実施例に依存して、IPDTの特徴は、CASTのR8051XC2マイクロコントローラ、インテルのMCS51(即ち、8051マイクロコントローラ)などのマイクロコントローラを具現化することによって達成可能である。また、IPDTのある特徴機能を実施するために、幾つかの特徴機能の実装は、特定用途向け集積回路(「ASIC」)、デジタル信号処理(「DSP」)、フィールド・プログラマブル・ゲート・アレイ(「FPGA」)、及び/又は、類似の埋め込み技術などの埋め込みコンポーネントに依存してもよい。例えば、IPDTコンポーネントコレクション(分散又はその他の点)、及び/又は、特徴機能は、マイクロプロセッサ、及び/又は、埋め込みコンポーネントを介して、例えば、ASIC、コプロセッサ、DSP、FPGAなどを介して、実施可能である。代替的に、IPDTの幾つかの実施例は、様々な特徴機能または信号処理を構成及び達成する埋め込みコンポーネントであってもよい。
特定の実施例では、埋め込みコンポーネントは、ソフトウェア解決、ハードウェア解決、及び/又は、ハードウェア/ソフトウェア解決の両方の幾つかの組み合わせを含むことができる。例えば、ここで説明するIPDTの特徴機能は、「論理ブロック」と呼ばれるプログラム可能な論理コンポーネントと、高性能FPGA・Virtexシリーズ及び/又はXilinx製の低価格Spartanシリーズのようにプログラム可能な相互接続を含む半導体素子であるFPGAの実施を通じて達成可能である。論理ブロックと相互接続は、FRGAが製造された後で、IPDTの特徴機能の幾つかを実装するために、顧客または設計者によってプログラムが可能である。プログラム可能な相互接続の階層構造は、論理ブロックが必要に応じてIPDTシステム設計者/管理者によって、1チッププログラム可能なブレッドボードのように、相互接続されるのを可能にする。FPGAの論理ブロックは、ANDやXORなどの基本論理ゲートの機能、あるいは、解読機または単純数学機能などのより複雑な組み合せ機能を実行するようにプログラム可能である。殆どのFPGAでは、論理ブロックはメモリ要素も有し、それは単純なフリップフロップまたはより完全なメモリのブロックであってもよい。ある場合には、IPDTは通常のFPGAで開発され、ASIC実装と類似する固定バージョンに移行されてもよい。代替的実施例または変形例においては、IPDT制御部特徴機能が、FPGAの代わりにまたはFPGAに追加して、最終的なASICに移行する。ある実施例では、前述の埋め込みコンポーネントとマイクロプロセッサの全てがIPDTのための「CPU」及び/又は「プロセッサ」であるとみなされてもよい。
電源
電源986は、アルカリ、リチウム水素化物、リチウムイオン、リチウムポリマー、ニッケルカドミウム、太陽電池などのパワーセルなど、小型電子回路ボード素子に電源供給するためのどんな標準形式であってもよい。他の種類の交流又は直流電源も同様に使用可能である。太陽電池の場合、ある実施例においては、太陽電池がフォトニックエネルギーを得ることができる隙間が設けられる。パワーセル986は、少なくとも一つの相互接続されたIPDTの以下のコンポーネントに接続され、それによって全ての以下のコンポーネントに電流を与える。ある実施例においては、電源986はシステムバスコンポーネント904に接続される。代替的実施例においては、I/O908インターフェースの接続を通じて外部電源986が提供される。例えば、USB及び/又はIEEE1394接続は、接続によりデータと電源の両方を運ぶため、適当な電源である。
インターフェースアダプター
インターフェースバス907は、多くのインターフェースアダプターを受容、接続及び/又は通信することができ、常にではないが従来は入出力インターフェース(I/O)908、ストレージインターフェース909、ネットワークインターフェース910などの(ただしこれらには限定されない)アダプターカードの形態であった。選択的に、暗号プロセッサインターフェース927もインターフェースバスに接続されてもよい。インターフェースバスは、コンピュータ組織の他のコンポーネントと同様にインターフェースアダプターの相互通信を与える。インターフェースアダプターは互換性のあるインターフェースバスに適合している。インターフェースアダプターは、従来、スロットアーキテクチャを介してインターフェースバスに接続している。従来のスロットアーキテクチャ波使用可能であり、アクセラレーティッド・グラフィックス・ポート(AGP)、カードバス、(拡張)業界標準アーキテクチャ((E)ISA)、マイクロ・チャネル・アーキテクチャ(MCA)、NuBus、ペリフェラル・コンポーネント・インターコネクト(拡張)(PCI(X))、PCIエクスプレス、PCメモリーカード国際協会(PCMCIA)などを含むが、これらには限定されない。
ストレージインターフェース909は、ストレージデバイス914、リムーバブルディスクデバイスなどの(但し、これらには限定されない)多くのストレージデバイスを受容、通信、及び/又は、接続することができる。ストレージインターフェースは、(ウルトラ)(シリアル)アドバンストテクノロジーアタッチメント(パケットインターフェース)((ウルトラ)(シリアル)ATA(PI))、(拡張)インテグレーティッドドライブエレクトロニクス((E)IDE)、米国電気電子技術者学会(IEEE)1394、ファイバーチャネル、スモールコンピュータシステムズインターフェース(SCSI)、ユニバーサルシリアルバス(USB)などを含む(但し、これらには限定されない)接続プロトコルを使用することができる。
ネットワークインターフェース910は、通信ネットワーク913を受容、通信及び/又は接続することができる。通信ネットワーク913を通して、IPDT制御部はユーザ933aによってリモートクライアント933b(例えば、ウエブブラウザを有するコンピュータ)を通じてアクセス可能となる。ネットワークインターフェースは、直接接続、イーサネット(太型、細型、ツイストペア10/100/1000ベースTなど)、トークンリング、IEEE802.11a−xなどの無線接続などを含む(但し、これらには限定されない)接続プロトコルを使用することができる。処理要件が、より高速及び/又は大容量を必要としている場合には、分散ネットワークコントローラ(例えば、分散IPDT)、アーキテクチャが同様にIPDTコントローラによって要求される通信帯域幅をプール、ロードバランス及び/又は他の点で増加するのに使用されてもよい。通信ネットワークは、直接接続、インターネット、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、オペレーティング・ミッションズ・アズ・ノーズ・オン・ザ・インターネット(OMNI)、機密保護されたカスタム接続、ワイド・エリア・ネットワーク(WAN)、(例えば、ワイヤレス・アプリケーション・プロトコル(WAP)、Iモードなどの(但し、これらには限定されない)プロトコルを使用する)無線ネットワークなどの一つ及び/又はこれらの組み合わせであってもよい。ネットワークインターフェースは、入出力インターフェースの特定の形態とみなすことができる。更に、多数のネットワークインターフェース910は、様々な通信ネットワークの種類913と接続するのに使用されてもよい。例えば、多数のネットワークインターフェースは、ブロードキャスト、マルチキャスト、及び/又は、ユニキャストネットワークにおける通信を可能にするのに使用される。
入出力インターフェース(I/O)908は、ユーザ入力装置911、周辺機器912、暗号プロセッサデバイス928などを受容、通信及び/又は接続してもよい。I/Oは、以下の(但し、これらには限定されない)接続プロトコルを使用してもよい。オーディオはアナログ、デジタル、モノラル、RCA、ステレオなど、データはアップルデスクトップバス(ADB)、IEEEI394a−b、シリアル、ユニバーサルシリアルバス(USB)、赤外線、ジョイスティック、キーボード、midi、光学、PCAT、PS/2、パラレル、無線、ビデオインターフェースはアップルデスクトップコネクタ(ADC)、BNC、同軸、コンポーネント、コンポジット、デジタル、デジタルビジュアルインターフェース(DVI)、ハイデフィニッションマルチメディアインターフェース(HDMI)、RCA、RFアンテナ、S−ビデオ、VGAなど、無線は802.11a/b/g/n/x、ブルートゥース、符号分割多重接続(CDMA)、グローバルシステムフォーモバイルコミュニケーション(GSM)、WiMaxなどである。ある典型的な出力装置はビデオディスプレイを有してもよく、それは、ビデオインターフェースから信号を受け入れるインターフェース(例えば、DVI回路とケーブル)を有するブラウン管(CRT)または液晶ディスプレイ(LCD)ベースのモニタを通常有する。ビデオインターフェースは、コンピュータ組織によって生成された情報を合成し、ビデオメモリフレームで合成情報に基づいてビデオ信号を生成する。別の出力装置は、ビデオインターフェースから信号を受け入れるテレビである。通常、ビデオインターフェースは(例えば、RCAコンポジットビデオケーブルを受け入れるRCAコンポジットビデオコネクタやDVIディスプレイケーブルを受け入れるDVIコネクタなどの)ビデオディスプレイインターフェースを受け入れるビデオ接続インターフェースを通じて合成ビデオ情報を提供する。
ユーザ入力装置911は、カードリーダ、ドングル、指紋リーダ、グローブ、グラフィックスタブレット、ジョイスティック、キーボード、マウス、リモートコントロール、網膜リーダ、トラックボール、トラックパッドなどであってもよい。
周辺機器912は、I/O及び/又はネットワークインターフェース、ストレージインターフェースなどの他の類似のファシリティに接続及び/又は通信してもよい。周辺機器は、オーディオデバイス、カメラ、(例えば、コピープロテクションのためにデジタル署名などで安全な取引を確保する)ドングル、(付加された機能性のための)外部プロセッサ、ゴーグル、マイクロホン、モニタ、ネットワークインターフェース、プリンタ、スキャナ、ストレージデバイス、ビデオデバイス、ビデオソース、バイザーなどであってもよい。
ユーザ入力装置と周辺機器は使用可能であるが、IPDT制御部は、埋め込み、専用、及び/又は、モニターレス(即ち、ヘッドレス)のデバイスとして具現化可能であることに留意すべきであり、ネットワークインターフェース接続に亘ってアクセスが提供される。
マイクロコントローラ、プロセッサ926、インターフェース927、及び/又は、デバイス928などの(但し、これらには限定されない)暗号ユニットは、IPDT制御部に取り付け、及び/又は、交信することができる。モトローラ社製MC68HC16マイクロコントローラは、暗号装置用に、及び/又は、暗号装置内で使用可能である。MC68HC16マイクロコントローラは、16MHz構成で16ビットの乗算及び蓄積命令を利用し、512ビットのRSA私有鍵操作を実行するのに1秒かからない。暗号装置は、匿名取引を可能にするのと同様に、相互作用機関から通信の認証を提供する。CPUの一部として暗号装置が構成されてもよい。同等なマイクロコントローラ、及び/又は、プロセッサも使用可能である。他の商業的に利用可能な特定暗号プロセッサは、ブロードコムのCryptoNetXと他のセキュリティプロセッサ、nCipherのnShield、セーフネットのルーナPCI(例えば、7100)シリーズ、セマフォーコミュニケーションズの40MHzロードランナー184、Sunの暗号アクセラレータ(例えば、アクセラレータ6000PCIeボード、アクセラレータ500ドータカード)、500+MB/sの暗号命令を実行可能なビアナノプロセッサ(例えば、L2100、L2200、U2400)ライン、VLSI技術の33MHz6868などを含む。
メモリ
一般に、プロセッサがストレージ及び/又は情報検索に影響を与えることを可能にする機械化及び/又は実施例はメモリ929と見なされる。しかしながら、メモリは、代替可能な技術リソースであるので、多くのメモリの実施例が代わりにまたは協働して使用可能である。IPDT制御部、及び/又は、コンピュータ組織は、メモリ929の様々な形態を使用可能であることを理解すべきである。例えば、オンチップCPUメモリ(例えば、レジスタ)、RAM、ROM及びその他のストレージデバイスの機能性が紙パンチテープまたは紙パンチカード機構によって提供可能であるように、コンピュータ組織は構成されてもよい。もちろん、そのような実施例は非常に遅い動作速度をもたらすだろう。典型的な構成において、メモリ929は、ROM906、RAM905、ストレージデバイス914を有する。ストレージデバイス914はどんな従来のコンピュータシステムの記憶装置でもよい。ストレージデバイスはドラム、(固定及び/又はリムーバブル)磁気ディスクドライブ、光磁気ドライブ、光ドライブ(即ち、ブルーレイ、CDROM/RAM/書き込み可能な(R)/書き換え可能な(RW)、DVDR/RW、HD DVD R/RWなど)、デバイスアレイ(例えば、独立ディスク冗長アレイ(RAID)、ソリッドステートメモリーデバイス(USBメモリ、ソリッドステートドライブ(SSD)など)、他のプロセッサ可読記憶媒体、及び/又は、その他の類似のデバイスを含んでもよい。従って、コンピュータ組織は、一般に、メモリを必要とし、それを利用する。
コンポーネットコレクション
メモリ929は、オペレーティングシステムコンポーネント915(オペレーティングシステム)、情報サーバコンポーネント916(情報サーバ)、ユーザインターフェースコンポーネント917(ユーザインターフェース)、ウエブブラウザコンポーネント918(ウエブブラウザ)、データベース919、メールサーバコンポーネント921、暗号サーバコンポーネント920(暗号サーバ)、IPDTコンポーネント935など(即ち、まとめてコンポーネントコレクション)などの(但し、これらには限定されない)プログラム、及び/又は、データベースコンポーネント、及び/又は、データのコレクションを含む。これらのコンポーネントは、ストレージデバイス、及び/又は、インターフェースバスを介してアクセス可能なストレージデバイスに格納及びアクセスされてもよい。コンポーネントコレクションにおける非従来のプログラムコンポーネントはローカルストレージデバイス914に通常格納されるが、それらは、周辺機器、RAM、通信ネットワークを通したリモートストレージファシリティ、ROM、様々な形態のメモリ等のメモリにロード、及び/又は、格納されてもよい。
オペレーティングシステム
オペレーティングシステムコンポーネント915は、IPDT制御部の操作を容易にする、実行可能なプログラムコンポーネントである。通常、オペレーティングシステムは、I/O、ネットワークインターフェース、周辺機器、記憶装置などのアクセスを容易にする。オペレーティングシステムは、アップルマッキントッシュOS・X(サーバ)、AT&Tプラン9、BeOS、UnixとUnix−likeシステム分散(AT&TのUNIX、FreeBSD、NetBSD、OpenBSDなどのバークレーソフトウェア配布(BSD)変形、RedHatやUbuntuなどのリナックス分散)及び/又は同様のオペレーティングシステムなどの高度にフォルトトレラントで、スケーラブルで、安全なシステムである。しかしながら、アップルマッキントッシュOS、IBMOS/2、マイクロソフトDOS、マイクロソフト・Windows2000/2003/3.i/95/98/Ce/Millenium/NT/Vista/XP(サーバ)、パームOSなどの、より限定的及び/又は安全性の低いオペレーティングシステムも使用可能である。オペレーティングシステムは、それ自身を含むコンポーネントコレクションの他のコンポーネントと送受信することができる。ごく頻繁に、オペレーティングシステムは、他のプログラムコンポーネント、ユーザインターフェースなどと通信する。例えば、オペレーティングシステムは、プログラムコンポーネント、システム、ユーザ、及び/又は、データ通信、要求、及び/又は、応答を包含、通信、生成、取得、及び又は、提供することができる。オペレーティングシステムは、一旦CPUによって実行されると、通信ネットワーク、データ、I/O、周辺機器、プログラムコンポーネント、メモリ、ユーザ入力装置などとの対話を可能にする。オペレーティングシステムは、IPDT制御部に通信ネットワーク913を介して他のエンティティと交信することを可能にする通信プロトコルを提供することができる。様々な通信プロトコルが、マルチキャスト、TCP/IP、UDP、ユニキャストなどの(但し、これらには限定されない)相互作用のサブキャリア伝送機構としてIPDT制御部で使用可能である。
情報サーバ
情報サーバコンポーネント916は、CPUによって実行される格納されたプログラムコンポーネントである。情報サーバは、アパッチ・ソフトウェア・ファウンデーションのアパッチ、マイクロソフトのインターネット・インフォメーション・サーバなどの(但し、これらには限定されない)従来のインターネット情報サーバであってもよい。情報サーバは、アクティブ・サーバ・ページ(ASP)、ActiveX、(ANSI)(objective-)C(++)、C#及び/又は.NET、コモン・ゲートウェイ・インターフェイス(CGI)スクリプト、ダイナミック(D)ハイパーテキストマークアップ言語(HTML)、フラッシュ、Java、JavaScript、プラクティカル・エクストラクション・レポート・ラングエージ(パール)、ハイパーテキストプリプロセッサ(PHP)、パイプス、パイソン、ワイヤレスアプリケーションプロトコル(WAP)、WebObjectsなどのファシリティを介してプログラムのコンポーネントの実行を可能にする。情報サーバは、安全な通信プロトコルを提供してもよく、ファイル転送プロトコル(FTP)、ハイパーテキスト転送プロトコル(HTTP)、セキュアハイパーテキスト転送プロトコル(HTTPS)、セキュアソケットレイア(SSL)、メッセージングプロトコル(例えば、アメリカオンライン(AOL)、インスタントメッセンジャー(AIM)、アプリケーションエクスチェンジ(APEX)、ICQ、インターネット・リレー・チャット(IRC)、マイクロソフトネットワーク(MSN)メッセンジャーサービス、プレゼンス・アンド・インスタント・メッセージング・プロトコル(PRIM)、インターネットエンジニアリングタスクフォースの(IETFの)セッション・イニシエーション・プロトコル(SIP)、インスタント・メッセージング・アンド・プレゼンス・レバレージング・エクステンションズのSIP(SIMPLE)、オープンXMLベースのエクステンシブルメッセージングアンドプレゼンスプロトコル(XMPP)(即ち、ジャバーまたはオープンモバイルアライアンス(OMA)のインスタント・メッセージング・アンド・プレゼンス・サービス(IMPS))、Yahoo!インスタントメッセンジャーサービスなどを含むが、これらには限定されない。情報サーバは、ウエブページの形態で結果をウエブブラウザに提供し、他のプログラムコンポーネントとの対話を通じてウエブページを操作および生成する。HTTP要求のドメインネームシステム(DNS)解決部分が特定の情報サーバに解決された後で、情報サーバは、HTTP要求の残りに基づいてIPDT制御部の特定の場所で情報の要求を解決する。例えば、http://123.124.125.126/mylnformation.htmlの要求は、DNSサーバによって解決される情報サーバへの要求「123.124.125.126」のIP部分をそのIPアドレスで有しているかもしれないし、その情報サーバは、次いで、その要求の「/myInformation.html」部分に対するhttp要求を更にパースし、情報「mylnformation.html」を有するメモリの場所に解決するかもしれない。また、プロトコルを提供する他の情報は、FTP通信アクロスポート21などの様々なポートで使用可能である。情報サーバは、それ自身及び/又は類似のファシリティを含むコンポーネントコレクションにおいて他のコンポーネントと送受信してもよい。ごく頻繁に、情報サーバはIPDTデータベース919、オペレーティングシステム、他のプログラムコンポーネント、ユーザインターフェース、ウエブブラウザなどと通信する。
IPDTデータベースへのアクセスは、(CGIなど)の以下に列挙されるスクリプト言語や(CORBA、WebObjectsなどの)以下に列挙されるアプリケーション間通信チャンネルを通じて幾つかのデータベースブリッジ機構を通じて達成可能である。ウエブブラウザを通じたどんなデータ要求も、IPDTによって要求されると、ブリッジ機構を通して適切なグラマーにパースされる。ある実施例においては、情報サーバは、ウエブブラウザによってアクセス可能なウエブ形態を与えるだろう。ウエブ形態で供給されたフィールドになされた入力は、特定のフィールドに入力されたものとしてタグ付けされ、パースされる。入力されたタームは、フィールドタグと共に送信され、それは、適当なテーブル及び/又フィールドに向けられたクエリを生成するようにパーサに命令する。ある実施例においては、パーサは、タグ付けされたテキスト入力に基づいて適当な加入/選択コマンドで検索ストリングをインスタンス作成することによって標準SQLでクエリを生成する。結果コマンドは、ブリッジ機構を通じてクエリとしてIPDTに提供される。クエリからクエリ結果を生成する際に、結果はブリッジ機構を通じて送信され、ブリッジ機構によって新しい結果ウエブページの生成とフォーマットのためにパースされる。かかる新しい結果ウエブページは、その後、それを要求ウエブブラウザに供給する情報サーバに提供される。
また、情報サーバは、プログラムコンポーネント、システム、及び/又は、データ通信、要求、及び/又は、応答を包含、通信、生成、取得、及び/又は、提供してもよい。
ユーザインターフェース
コンピュータインタフェースの機能はある点で自動車操作インターフェースと同様である。ハンドル、ギアシフト、速度計などの自動車操作インターフェース要素は自動車リソース、機能性および状態のアクセス、操作、表示を容易にする。チェックボックス、カーソル、メニュー、スクローラ、ウインドウ(まとめて一般にウィジェットと呼ばれている)などのコンピュータインタラクションインターフェース要素は、同様に、データ、コンピュータハードウェアおよびオペレーティングシステムリソース、機能性および状態のアクセス、操作及び表示を容易にする。操作インターフェースは、一般に、ユーザインターフェースと呼ばれている。グラフィカルユーザインターフェース(GUIs)、例えば、アップルマッキントッシュオペレーティングシステムのアクア、IBMのOS/2、マイクロソフトのWindows2000/2003/3.1/95/98/CE/ミレニアム/NT/XP/ビスタ/7(即ち、エアロ)、UnixのX−Windows(例えば、Kデスクトップエンバイロンメント(KDE)、mythTV及びGNUネットワークオブジェクトモデルエンバイロンメント(GNOME))、ウエブインターフェースライブラリ(ActiveX、AJAX、(D)HTML、フラッシュ、Java、JavaScriptなどのインターフェースライブラリ、例えば、(但し、これらには限定されない)Dojo、jQuery(UI)、MooTools、プロトタイプ、script.aculo.us、SWFObject、Yahoo!ユーザインターフェース、それらのいずれも使用可能である)は、ユーザにベースラインと情報にアクセスして視覚的に表示する手段を与える。
ユーザインターフェースコンポーネント917は、CPUによって実行される、格納されたプログラムコンポーネントである。ユーザインターフェースは、上述したように、オペレーティングシステム及び/又は操作環境によって、それらと共に、及び/又は、それらの先に提供される、従来のグラフィックユーザインターフェースであってもよい。ユーザインターフェースは、テキスト及び/又はグラフィックファシリティを通じて、プログラムコンポーネント及び/又はシステムファシリティの表示、実行、対話、マニプレーション、及び/又は、操作を与える。ユーザインターフェースは、ユーザがコンピュータシステムに影響を与え、対話し、及び/又は、操作することが可能なファシリティを与える。ユーザインターフェースは、それ自体及び/又は同様のファシリティを含むコンポーネントコレクションにおいて他のコンポーネントと送受信することができる。ごく頻繁に、ユーザインターフェースは、オペレーティングシステム、他のプログラムコンポーネントなどと通信する。ユーザインターフェースは、プログラムコンポーネント、システム、ユーザ、及び/又は、データ通信、要求及び/又は応答を包含、通信、生成、取得、及び/又は提供してもよい。
ウエブブラウザ
ウエブブラウザコンポーネント918は、CPUによって実行される、格納されたプログラムコンポーネントである。ウエブブラウザは、マイクロソフトインターネットエクスプローラまたはネットスケープナビゲータなどの従来のハイパーテキスト閲覧アプリケーションであってもよい。安全なウエブブラウジングが、HTTPS、SSLなどによって128ビット(以上)の暗号化と共に提供可能である。ウエブブラウザは、ActiveX、AJAX、(D)HTML、フラッシュ、Java、JavaScript、ウエブブラウザプラグインAPI(例えば、FireFox、サファリプラグイン及び/又は同様のAPI)などのファシリティを通じてプログラムコンポーネントの実行を与える。ウエブブラウザ及び類似の情報アクセスツールは、PDA、携帯電話、及び/又は、他のモバイルデバイスに統合可能である。ウエブブラウザは、それ自体及び/又は同様のファシリティを含むコンポーネントコレクションの他のコンポーネントと送受信することができる。ごく頻繁に、ウエブブラウザは、情報サーバ、オペレーティングシステム、統合プログラムコンポーネント(例えば、プラグイン)などと通信する。例えば、それは、プログラムコンポーネント、システム、ユーザ、及び/又は、データ通信、要求、及び/又は、応答を包含、通信、生成、取得、及び/又は提供してもよい。もちろん、ウエブブラウザと情報サーバに代わって、複合アプリケーションが両方の同様の機能を実行するように開発されてもよい。複合アプリケーションは、同様に、IPDTが実行可能なノードからユーザ、ユーザ代理人などへの情報の入手と提供に影響を与えるだろう。複合アプリケーションは、標準ウエブブラウザを使用するシステム上では意味がないかもしれない。
メールサーバ
メールサーバコンポーネント921は、CPU903によって実行される、格納されたプログラムコンポーネントである。メールサーバは、sendmail、マイクロソフトExchangeなどの従来のインターネットメールサーバであってもよい。メールサーバは、ASP、ActiveX、(ANSI)(objective-)C(++)、C#及び/又は.NET、CGIスクリプト、Java、JavaScript、パール、PHP、パイプス、パイソン、WebObjectsなどのファシリティを介してプログラムコンポーネントの実行を可能にする。メールサーバは通信プロトコルを提供してもよく、これらは、インターネット・メッセージ・アクセス・プロトコル(IMAP)、メッセージング・アプリケーション・プログラミング・インターフェース(MAPI)/マイクロソフトエクスチェンジ、ポスト・オフィス・プロトコル(POP3)、シンプル・メール・トランスファー・プロトコル(SMTP)などを含むが、これらには限定されない。メールサーバは、送信、中継及び/又はIPDTを通じて及び/又はそれに移動する受信及び発信メールメッセージを発信、転送及び処理することができる。
IPDTメールへのアクセスは、個々のウエブサーバーコンポーネント、及び/又は、オペレーティングシステムによって提供された多くのAPIを通して達成可能である。
また、メールサーバは、プログラムコンポーネント、システム、ユーザ、及び/又は、データ通信、要求、情報、及び/又は、応答を包含、通信、生成、取得、及び/又は、提供してもよい。
メールクライアント
メールクライアントコンポーネント922は、CPU903によって実行される、格納されたプログラムコンポーネントである。メールクライアントは、アップルメール、マイクロソフトアントラージュ、マイクロソフトアウトルック、マイクロソフトアウトルックエクスプレス、モジラ、サンダーバードなどの従来のメール閲覧アプリケーションであってもよい。メールクライアントは、IMAP、マイクロソフトエクスチェンジ、POP3、SMTPなどの多くの転送プロトコルを提供してもよい。
メールクライアントはそれ自体及び/又は同様のファシリティを含むコンポーネントコレクションの他のコンポーネントと送受信することができる。ごく頻繁に、メールクライアントは、メールサーバ、オペレーティングシステム、他のメールクライアントなどと通信する。例えば、それは、プログラムコンポーネント、システム、ユーザ、及び/又は、データ通信、要求、及び/又は、応答を包含、通信、生成、取得、及び/又は提供してもよい。一般に、メールクライアントは、電子メールメッセージを構成及び送信するファシリティを提供する。
暗号サーバ
暗号サーバコンポーネント920は、CPU903、暗号プロセッサ926、暗号プロセッサインターフェース927、暗号プロセッサデバイス928などによって実行される、格納されたプログラムコンポーネントである。暗号プロセッサインターフェースは、暗号コンポーネントによる暗号化及び/又は解読要求の迅速性を可能にするが、暗号コンポーネントは従来のCPUで起動してもよい。暗号コンポーネントは提供されたデータの暗号化、及び/又は、復号化を可能にする。暗号コンポーネントは、対称及び非対称(例えば、プリティ・グッド・プロテクション(PGP))暗号化及び/又は複合化の両方を可能にする。暗号コンポーネントは、デジタル証明書(例えば、X.509認証フレームワーク)、デジタル署名、デュアル署名、エンベローピング、パスワードアクセス保護、公開鍵管理などの(但し、これらに限定されない)暗号技術を使用してもよい。暗号コンポーネントは、チェックサム、データ暗号化標準(DES)、楕円暗号曲線(ECC)、国際データ暗号化アルゴリズム(IDEA)、メッセージダイジェスト5(MD5は一方向ハッシュ関数)、パスワード、RivestCipher(RC5)、ラインダール、(1977年にロン・ライベスト、アディ・シャミルおよびレオナルド・アデルマンによって開発されたインターネット暗号化及び認証システムである)RSA、セキュアハッシュアルゴリズム(SHA)、セキュアソケットレイア(SSL)、セキュアハイパーテキスト転送プロトコル(HTTPS)などの(但し、これらに限定されない)多数の(暗号化及び/又は復号化)セキュリティプロトコルを容易にする。かかる暗号化セキュリティプロトコルを使用すると、IPDTは全ての受信及び/又は発信通信を暗号化できて、より広い通信ネットワークと仮想私設ネットワーク(VPN)でノードとして機能することができる。暗号コンポーネントは、「安全な承認」の処理を容易にし、これによってリソースへのアクセスが機密保持プロトコルによって禁止される。暗号コンポーネントは、機密保護されたリソースへの許可されたアクセスを可能にする。また、暗号コンポーネントは、コンテンツのユニークな識別子を提供することができ、例えば、デジタルオーディオファイルに対してユニークな署名を取得するのにMD5ハッシュを使用する。暗号コンポーネントは、コそれ自体及び/又は同様のファシリティを含むンポーネントコレクションの他のコンポーネントと送受信することができる。暗号コンポーネントは、通信ネットワークで情報の安全な送信を可能にし、希望されればIPDTコンポーネントが安全な取引に従事することを可能にする暗号化体系を提供する。暗号コンポーネントは、IPDTでリソースの安全なアクセスを容易にし、リモートシステムで機密保護されたリソースのアクセスを容易にする。即ち、それは機密保護されたリソースのクライアント及び/又はサーバとして働いてもよい。ごく頻繁に、暗号コンポーネントは、情報サーバ、オペレーティングシステム、他のプログラムコンポーネントなどと通信する。暗号コンポーネントは、プログラムコンポーネント、システム、ユーザ、及び/又は、データ通信、要求、及び/又は、応答を包含、通信、生成、取得、及び/又は、提供してもよい。
IPDTデータベース
IPDTデータベースコンポーネント919は、データベースとその格納データに具現化されてもよい。データベースは、CPUによって実行される、格納されたプログラムコンポーネントであり、格納されたプログラムコンポーネント部分はCPUに格納データを処理させる。データベースは、オラクルまたはSybaseなどの従来の、フォルトトレラントで、リレーショナルで、スケーラブルで安全なデータベースでもよい。リレーショナルデータベースはフラットなファイルの拡張である。リレーショナルデータベースは一連の関連テーブルからなる。テーブルはキーフィールドを介して相互接続されている。キーフィールドの使用は、キーフィールドに索引をつけることによってテーブルの組み合わせを可能にする。即ち、キーフィールドは、様々なテーブルからの情報を結合するための次元ピボットポイントとして作用する。関係は、一般に、主キーを合わせることによってテーブル間で維持されたリンクを識別する。主キーはリレーショナルデータベースでユニークにテーブルの行を識別するフィールドを表している。より正確には、それらは一対多の関係の「一」側面でユニークにテーブルの行を識別する。
代替的に、IPDTデータベースは、アレイ、ハッシュ、(リンクされた)リスト、ストラクト、ストラクチャードテキストファイル(例えば、XML)、テーブルなどの様々な標準データ構造を使用して具現化されてもよい。かかるデータ構造は、メモリ及び/又は(ストラクチャード)ファイルに格納されてもよい。別の代替例においては、オブジェクト指向データベースは、フロンティア、ObjectStore、Poet、Zopeなどのように使用されてもよい。オブジェクトデータベースは、共通の属性によってグループ化、及び/又は、リンク付けされる幾つかのオブジェクトコレクションを含んでもよい。それらは、いくつかの共通の属性によって他のオブジェクトコレクションに関連付けられてもよい。オブジェクト指向データベースは、オブジェクトがデータの単なる断片ではなく所与のオブジェクト内でカプセル化された他の種類の機能性を有する点を除いて、リレーショナルデータベースと同様に働く。IPDTデータベースがデータ構造として具現化される場合、IPDTデータベース919の使用はIPDTコンポーネント935などの別のコンポーネントに統合されてもよい。同様に、データベースは、データ構造、オブジェクト、およびリレーショナル構造の組み合わせとして具現化されてもよい。データベースは、標準データ処理技術を介した無数の変形例において統合及び/又は分散されてもよい。データベースの部分(例えば、テーブル)は、エクスポート及び/又はインポートされ、このようにして分散、及び/又は、統合されてもよい。
ある実施例においては、データベース構成要素919は数個のテーブル919a−dを有する。ユーザテーブル919aは、ユーザID、ユーザ名、ユーザパスワード、連絡情報、ハードウェアID、ペイロード履歴、ユーザ評価などの(但し、これらには限定されない)フィールドを含むことができる。ハードウェアテーブル919bは、ハードウェアID、ハードウェアの種類、ハードウェア名、データフォーマット要件、プロトコル、アドレシング情報、使用履歴、ハードウェア要件、ユーザIDなどの(但し、これらには限定されない)フィールドを含むことができる。アプリケーションテーブル919cは、アプリケーションID、プロトコルID、ユーザの種類、アプリケーションの種類、アプリケーションのバージョン、ポリシーID、アプリケーションの設定、アプリケーションインターフェース、アプリケーション認証などのフィールドを含むことができる。プロトコルテーブル919dは、プロトコルID、ユーザID、プロトコルのバージョン、プロトコル要求、プロトコル互換性などの(但し、これらには限定されない)フィールドを含むことができる。ソーステーブル919eは、ソース名、ソースID、ハードウェアID、ハードウェアの種類、関連アプリケーションなどの(但し、これらには限定されない)フィールドを含むことができる。ターゲットテーブル919fは、ターゲット名、ターゲットID、ハードウェアID、ハードウェアの種類、関連アプリケーションなどの(但し、これらには限定されない)フィールドを含むことができる。
ある実施例においては、IPDTデータベースは他のデータベースシステムと対話することができる。例えば、分散データベースシステムを使用すると、検索IPDTコンポーネントによるクエリおよびデータアクセスは、IPDTデータベース、単一データベースエンティティとしての統合データセキュリティレイヤデータベースの組み合わせを処理することができる。
ある実施例においては、IPDTデータベースは他のデータベースシステムと対話することができる。例えば、分散データベースシステムを使用すると、検索IPDTコンポーネントによるクエリおよびデータアクセスは、IPDTデータベース、単一データベースエンティティとしての統合データセキュリティレイヤデータベースの組み合わせを処理することができる。
ある実施例においては、ユーザプログラムは、IPDTを更新する機能を有する様々なユーザインターフェースプリミティブを含むことができる。また、様々なアカウントは、IPDTが提供する必要があるかもしれないクライアントの種類と環境に依存してカスタムデータベーステーブルを必要とする場合がある。いかなるニークなフィールドも、キーフィールドとして完全に指定できることに留意すべきである。代替的な実施例においては、これらのテーブルはそれら自身のデータベースとそれらのそれぞれのデータベース制御部(即ち、上記テーブルの各々の個々のデータベース制御部)に分散されている。標準データ処理技術を使用して、幾つかのコンピュータ組織、及び/又は、ストレージデバイスにデータベースを分散してもよい。同様に、分散データベース制御部の構成を様々なデータベースコンポーネント9i9a−fを統合及び/又は分散することによって変更可能である。IPDTは、データベース制御部を介して、各種設定、入力およびパラメータを監視するように構成されてもよい。
IPDTデータベースは、それ自身及び/又は類似のファシリティを含むコンポーネントコレクションの他のコンポーネントと送受信することができる。ごく頻繁に、IPDTデータベースは、IPDTコンポーネント、他のプログラムコンポーネントなどと通信する。データベースは、他のノードとデータに関する情報を包含、保持、及び提供することができる。
IPDT
IPDTコンポーネント935は、CPUによって実行される、格納されたプログラムコンポーネントである。ある実施例においては、IPDTコンポーネントは、前述の図面で説明したIPDTの側面の幾つか及び/又は全てを組み合わせることができる。従って、IPDTは、様々な通信ネットワークを介して、情報、サービス、取引などのアクセス、取得および提供に影響を与える。
IPDTコンポーネントは、ネットワーク構成、アプリケーションの実装とIPDTの使用を可能にする。
ノード間で情報のアクセスを可能にするIPDTコンポーネントは、アパッチコンポーネント、アッセンブリ、アクティブX、バイナリーエクゼキュータブル、(ANSI)(objective-)C(++)、C#及び/又は.NET、データベースアダプター、CGIスクリプト、Java、JavaScript、マッピングツール、プロシージャ及びオブジェクト指向開発ツール、パール、PHP、パイソン、シェルスクリプト、SQLコマンド、ウエブアプリケーションサーバエクステンション、ウエブ開発環境およびライブラリ(例えば、マイクロソフトのActiveX、アドビ・エア、Flex&Flash、AJAX、(D)HTML、Dojo、Java、JavaScript、jQuery(UI)、MooTools、Prototype、script.aculo.us、シンプル・オブジェクト・アクセス・プロトコル(ソープ)、SWFObject、Yahoo!ユーザインターフェースなど)、WebObjectなどの(但し、これらには限定されない)標準開発ツールと言語を使用することによって開発可能である。ある実施例においては、IPDTサーバは、通信を暗号化および解読するのに暗号サーバを使用する。IPDTコンポーネントは、それ自身及び/又は類似のファシリティを含むコンポーネントコレクションの他のコンポーネントと送受信することができる。ごく頻繁に、IPDTコンポーネントは、IPDTデータベース、オペレーティングシステム、他のプログラムコンポーネントなどと通信する。IPDTは、プログラムコンポーネント、システム、ユーザ、及び/又は、データ通信、要求、及び/又は、応答を包含、通信、生成、取得及び/又は提供することができる。
分散IPDT
IPDTノード制御部コンポーネントの幾つかの構造及び/又は操作は、開発及び/又は配置を容易にするために、幾つかの方法で結合、統合及び/又は分散が可能である。同様に、展開及び/又は配置を容易にするために幾つかの方法でコンポーネントコレクションは結合可能である。これを達成するために、コンポーネントを、共通のコードベースに統合したり、統合された方法で必要に応じて動的にコンポーネットをロード可能なファシリティに統合したりすることができる。
コンポーネントコレクションは、無数の変形例において、標準データ処理及び/又は開発技術を通じて、統合及び/又は分配が可能である。プログラムコンポーネントコレクションにおけるいずれか一つのプログラムコンポーネントの多数のインスタンスは、単一のノードでインスタンス作成されてもよいし、及び/又は、パフォーマンス向上のために負荷のバランス及び/又はデータ処理技術を通じて多数のノードでインスタンス作成されてもよい。全てのプログラムコンポーネントインスタンス及び協働する制御部は、標準データ処理通信技術を通じてそうしてもよい。
IPDT制御部の構成はシステム開発のコンテクストに依存する。予算、容量、位置及び/又は基底ハードウェアリソースの使用などの(但し、これらには限定されない)要因は、配置要件と構成に影響を与える。構成がより整理及び/又は統合されたプログラムコンポネントになるかどうか、より分散された一連のプログラムコンポーネントになるかどうか、及び/又は、統合と分散の構成の何らかの組み合わせとなるかどうかに拘らず、データは通信、取得及び/又は提供されてもよい。プログラムコンポーネントコレクションから共通コードベースに統合されたコンポーネントのインスタンスは、データを通信、取得、及び/又は、提供してもよい。これは、データレフェレンシング(例えば、ポインタ)、内部メッセージング、オブジェクトインスタンス変数通信、共有メモリスペース、変数交換などの(但し、これらには限定されない)アプリケーション内データ処理通信技術を通じて達成可能である。
コンポーネントコレクションコンポーネントが互いに離散的、別個、及び/又は、外面的である場合、データを他のコンポーネントとの間で送受信、取得及び/又は提供することは、アプリケーションプログラムインタフェース(API)情報交換、(分散)コンポーネントオブジェクトモデル((D)COM)、(分散)オブジェクト・リンキング・アンド・エンベッディング((D)OLE)など)、共通オブジェクトリクエストブローカーアーキテクチャ(CORBA)、ローカル及びリモートアプリケーションプログラムインタフェース・ジニ、リモート・メソッド・インボケーション(RMI)、ソープ、プロセスパイプ、共有ファイルなどのアプリケーション間データ処理通信技術を通じて達成されてもよい。アプリケーション間通信のための離散的なコンポーネント間またはアプリケーション内通信のための単一コンポーネントのメモリスペース内で送信されるメッセージは、グラマーの作成とパースを通じて容易になる。グラマーは、グラマーの生成とパースの機能性を可能にするlex、yacc、XMLなどの標準開発ツールを使用して開発されてもよく、それは次いでコンポーネント内およびコンポーネント間で通信メッセージの基礎を形成する。例えば、グラマーは、w3c post-http://… Value1などのHTTPポストコマンドのトークンを認識するように構成されてもよい。ここで、Value1は、「http://」がグラマー構文の一部であるのでパラメータであるものとして区別され、以下に続くものはポストバリューの一部とみなされる。同様に、かかるグラマーを使用すると、変数「Value1」を「http://」ポストコマンドに挿入し、その後、送信することができる。グラマー構文それ自体は、翻訳及び/又は(例えば、lex、yaccなどによって処理される構文説明テキストファイル)パース機構を生成するのに使用されるストラクチャードデータとして提供可能である。また、パース機構が一旦生成、及び/又は、インスタンス作成されると、それはそれ自体が、キャラクタ(例えば、タブ)、図示テキスト、HTML、ストラクチャードテキストストリーム、XML、及び/又は、同様のストラクチャードデータなどの(但し、これらには限定されない)ストラクチャードデータを処理及び/又はパースすることができる。別の実施例においては、アプリケーション間データ処理プロトコル自体は、通信データをパースするのに使用可能な、統合及び/又は直ちに利用可能なパーサ(例えば、ソープパーサ)を有してもよい。更に、パースグラマーはメッセージパースを越えて使用可能であるが、データベース、データコレクション、データストア、ストラクチャードデータなどをパースするのにも使用可能である。再び、所望の構成は、システム配置のコンテクスト、環境、および要件に依存する。
(表紙、名称、見出し、分野、背景、手段、図面の簡単な説明、詳細な説明、請求の範囲、要約、図面を含む)本出願の全体は、請求の範囲に記載されている発明が実施可能な様々な実施例を例示している。本出願の利点と特徴機能は、実施例の代表例でしかなく、網羅的、及び/又は、限定的ではない。それらは請求された原理の理解と教示を補助するためにのみ提示されている。それらは、請求の範囲に記載された全ての発明を代表していないことを理解すべきである。そのため、開示のある側面はここで説明されていない。代替的な実施例は本発明の特定の部分に対しては提示されていないこと、または、更に記載されていない代替的な実施例が部分的に入手可能であることは、それらの代替的な実施例の放棄とみなされてはならない。それらの記載されていない実施例の多くは、本発明と同一の原理を有し、他のものは均等であることを理解すべきである。従って、他の実施例は、開示の範囲、及び/又は、本旨から逸脱せずに入手でき、機能的、論理的、組織的、構造的、及び/又はトポロジー的な変形であることを理解すべきである。従って、全ての実例、及び/又は、実施例が本開示に亘って非限定的であると考えられる。また、スペースと反復を削減する目的以外では、ここで説明した実施例からここで説明されていないものを類推してはならない。例えば、図に記載されているように及び/又は開示中でプログラムコンポーネント(コンポーネントコレクション)、他のコンポーネント、及び/又は、現在の特徴機能の組み合わせの論理的及び/又はトポロジー的な構造は、固定された操作順序及び/又は配置に限定されず、むしろいかなる開示された順番も例示的で全ての均等物は順番に関わらず開示によって想定されていることを理解すべきである。更に、かかる特徴は順次の実行に限定されず、むしろ非同期に、協働して、平行して、同時に、同期してなどで実行されるいかなる数のスレッド、処理、サービス、サーバなども本開示で想定されていることを理解すべきである。従って、これらの特徴機能の幾つかは、単一の実施例で同時に存在できない点で互いに矛盾する場合がある。同様に、幾つかの特徴機能は本発明の一側面に適用可能であるが、他の側面には適用できない。また、本開示は現在請求されていない他の発明を含む。本出願人は、現在請求されていない発明の全ての権利を留保し、これにはかかる発明を請求する権利、更なる出願、継続出願、一部継続出願、分割出願などをする権利を含む。また、本開示の特長、実施例、実例、機能的、特徴機能、論理的、組織的、構造的、トポロジー的、及び/又は、その他の側面は、請求の範囲に定義されているように、本開示の限定と請求の範囲の均等物の限定と考えてはならないことを理解すべきである。
113…通信ネットワーク、110…ソースデバイス、115…ソースディスプレイ、119…IPDT共同プレイDB、120…ターゲットデバイス、125…リモートディスプレイ、205…IPDT共同プレイ制御部

Claims (24)

  1. プロセッサによって実行されるインターラクティブなプロキシミティディスプレイのテザー方法は、
    リモートディスプレイテザーコンポーネントを初期化する要求を受信することと、
    テザーターゲットデバイスをクエリすることと、
    テザーターゲットデバイスの選択を取得することと、
    選択されたテザーターゲットデバイスに対する通信チャネルを構成することと、
    前記通信チャネルを通じてリモートディスプレイのインスタンスを作成することと、
    前記選択されたテザーターゲットデバイスの種類を決定することと、
    前記選択されたテザーターゲットデバイスがプロセッサベースである場合は、ソースデバイスでインターラクティブテザーアプリケーションのインスタンスを作成することと、
    制御入力に基づいてデータを生成することと、
    前記通信チャネルを通じて前記リモートディスプレイを駆動するために前記生成されたデータを送ることと、
    を有することを特徴とする方法。
  2. テザーターゲットデバイスのクエリは、
    テザーターゲットデバイスの表示を受信することと、
    受信した表示に基づいてテザーターゲットデバイスのローカルエリアネットワークの範囲を検索することと、
    を有することを特徴とする請求項1に記載の方法。
  3. テザーターゲットデバイスの表示は、IPアドレス、マックアドレス、頭文字、ハードウェアラベル、デジタル署名およびドライバ証明書のいずれかであることを特徴とする請求項2に記載の方法。
  4. テザーターゲットデバイスのクエリは、
    前記データベースの通信スタックにおいて登録されたテザーターゲットデバイスに基づくクエリを形成することを特徴とする請求項1に記載の方法。
  5. テザーターゲットデバイスのクエリは、ゼロ構成プロトコルに基づいてテザーターゲットデバイスを配置し、
    前記ゼロ構成プロトコルは、サービスロケーションプロトコル(SLP)、ユニバーサルプラグアンドプレイ(UPnP)、ジニ、ブルートゥースサービスディスカバリープロトコル、WSディスカバリー、UDPとボンジュールを使用したプロプライエタリディスカバリープロトコルのいずれかであることを特徴とする請求項1に記載の方法。
  6. 前記クエリに基づいて利用可能なテザーターゲットデバイスのリストを生成することと、
    ユーザインターフェースを介して前記利用可能なテザーターゲットデバイスのリストを提供することと、
    を更に有することを特徴とする請求項1に記載の方法。
  7. 前記テザーターゲットデバイスの種類を決定することは、前記テザーターゲットデバイスは物理的テザー又はプロセッサによって可能にされた装置であることを特徴とする請求項1に記載の方法。
  8. 前記物理的テザーは、ダイレクトオーディオ/ビデオ接続であることを特徴とする請求項7に記載の方法。
  9. 前記テザーターゲットデバイスが物理的テザーである場合は、前記物理的テザーを介してリモートディスプレイでディスプレイミラーモードのインスタンスを作成することを更に有することを特徴とする請求項7に記載の方法。
  10. 前記ミラーモードの下で前記物理的テザーを通じて前記ターゲットデバイスに送信されるデータは、コンポーネントビデオS−ビデオ、HDMI、VGA、DVI、ディスプレイポートのいずれかに従うことを特徴とする請求項9に記載の方法。
  11. 前記テザーターゲットデバイスが分散オブジェクト指向アプリケーション、ウエブサーバ、リモートディスプレイクライアントおよびウエブブラウザのいずれかを起動しているかどうかを決定することを更に有すること特徴とする請求項7に記載の方法。
  12. 前記テザーターゲットデバイスがプロセッサベースの場合に、
    前記テザーターゲットデバイスを接続するカスタム通信チャネルを可能にすることと、
    前記テザーターゲットデバイスのインスタンスを作成する命令を提供することと、
    前記テザーターゲットデバイスでインターラクティブテザーによって実行可能なアプリケーションを使用することと、
    を更に有することを特徴とする請求項7に記載の方法。
  13. 前記テザーターゲットデバイスが前記ウエブブラウザを起動している場合に、
    ウエブサーバのインスタンスを作成することと、
    前記テザーターゲットデバイスに接続することと、
    前記ターゲットデバイスのウエブブラウザに対してそのウインドウを前記画面の全サイズまで拡張するように命令することと、
    を更に有することを特徴とする請求項11に記載の方法。
  14. 前記テザーターゲットデバイスが前記リモートデスクトップクライアントを起動している場合は、前記ターゲットデバイスに入力されるものについてユーザに前記接続を完了するように命令する画面でプロンプト表示することを更に有することを特徴とする請求項11に記載の方法。
  15. 前記テザーターゲットデバイスは、分散オブジェクト指向アプリケーションを起動している場合は、グラフィックス作成エンジンを起動することを更に有することを特徴とする請求項11に記載の方法。
  16. 前記インターラクティブテザーによって実行可能なアプリケーションは、
    前記テザーターゲットデバイスにインターラクティブアプリケーションのより精巧なバージョンを転送することと、
    前記テザーターゲットデバイスに自動的にインターラクティブアプリケーションのより精巧なバージョンをダウンロードしてインストールすることを促すことと、
    の一つを有することを特徴とする請求項12に記載の方法。
  17. 前記生成されたデータはバイナリーデータパケットのフォーマットであり、前記バイナリーデータパケットは、メッセージの種類、シーケンス番号、承認番号、データオフセット、データ長、チェックサム、選択肢およびデータペイロードのフィールドを有することを特徴とする請求項1に記載の方法。
  18. 前記データペイロードは、加速度計情報、(画面で押圧する)ポインタ座標、画像、GPS情報、ユーザ情報などの少なくとも一つを有することを特徴とする請求項17に記載の方法。
  19. 前記生成されたデータは、コモンオブジェクトリクエストブローカーアーキテクチャ(CORBA)に基づいて前記テザーターゲットに送信されることを特徴とする請求項1に記載の方法。
  20. 前記CORBA機構は、複数のオブジェクトに前記生成されたデータをカプセル化することを特徴とする請求項19に記載の方法。
  21. クライアントデバイスをクエリすることと、
    一以上の利用可能なクライアントデバイスの選択を取得することと、
    前記選択されたクライアントデバイスに対して前記通信チャネルで通信を確立することと、
    を更に有することを特徴とする請求項1に記載の方法。
  22. リアルタイムで前記通信チャネルを介して前記選択されたクライアントデバイスでデータを交換することを更に有することを特徴とする請求項21に記載の方法。
  23. インターラクティブなプロキシミティディスプレイのテザーシステムは、
    リモートディスプレイテザーによって実行可能なコンポーネントを初期化する要求を受信する手段と、
    テザーターゲットデバイスをクエリする手段と、
    テザーターゲットデバイスの選択を取得する手段と、
    選択されたテザーターゲットデバイスに対する通信チャネルを構成する手段と、
    前記通信チャネルを通じてリモートディスプレイのインスタンスを作成する手段と、
    前記選択されたテザーターゲットデバイスの種類を決定する手段と、
    前記選択されたテザーターゲットデバイスがプロセッサベースである場合は、ソースデバイスでインターラクティブテザーアプリケーションのインスタンスを作成する手段と、
    制御入力に基づいてデータを生成する手段と、
    前記通信チャネルを通じて前記リモートディスプレイを駆動するために前記生成されたデータを送る手段と、
    を有することを特徴とするシステム。
  24. 複数の処理命令を格納するプロセッサ可読媒体であって、プロセッサによって発行可能な命令を含み、前記発行可能な命令は、
    リモートディスプレイテザーによって実施可能なコンポーネントを初期化する要求を受信することと、
    テザーターゲットデバイスをクエリすることと、
    テザーターゲットデバイスの選択を取得することと、
    選択されたテザーターゲットデバイスに対する通信チャネルを構成することと、
    前記通信チャネルを通じてリモートディスプレイのインスタンスを作成することと、
    前記選択されたテザーターゲットデバイスの種類を決定することと、
    前記選択されたテザーターゲットデバイスがプロセッサベースである場合は、ソースデバイスでインターラクティブテザーアプリケーションのインスタンスを作成することと、
    制御入力に基づいてデータを生成することと、
    前記通信チャネルを通じて前記リモートディスプレイを駆動するために前記生成されたデータを送ることと、
    を有することを特徴とするプロセッサ可読媒体。
JP2011533429A 2008-10-27 2009-10-27 インターラクティブなプロキシミティディスプレイのテザーのための装置、方法およびシステム Pending JP2012507091A (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US10856508P 2008-10-27 2008-10-27
US61/108,565 2008-10-27
US11617508P 2008-11-19 2008-11-19
US61/116,175 2008-11-19
US15183209P 2009-02-11 2009-02-11
US61/151,832 2009-02-11
PCT/US2009/062253 WO2010062617A1 (en) 2008-10-27 2009-10-27 Apparatuses, methods and systems for an interactive proximity display tether

Publications (1)

Publication Number Publication Date
JP2012507091A true JP2012507091A (ja) 2012-03-22

Family

ID=42225982

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011533429A Pending JP2012507091A (ja) 2008-10-27 2009-10-27 インターラクティブなプロキシミティディスプレイのテザーのための装置、方法およびシステム

Country Status (3)

Country Link
US (1) US20120077586A1 (ja)
JP (1) JP2012507091A (ja)
WO (1) WO2010062617A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012064199A (ja) * 2010-08-20 2012-03-29 Nintendo Co Ltd 位置算出システム、位置算出装置、位置算出プログラム、および位置算出方法
JP2015525085A (ja) * 2012-05-02 2015-09-03 アキーモ, リミテッド ライアビリティー カンパニーAquimo, LLC モバイルデバイス動作センサ入力を用いたwebベースのゲームプラットフォーム
JP2020135883A (ja) * 2019-02-12 2020-08-31 富士ゼロックス株式会社 制御アセンブリ、方法、及びプログラム

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100086819A (ko) * 2009-01-23 2010-08-02 삼성전자주식회사 휴대단말기의 게임 실행 방법 및 시스템
TW201115451A (en) * 2009-10-20 2011-05-01 Ind Tech Res Inst A vectoring data transfer system and method based on sensor assisted positioning method
JP5730914B2 (ja) 2010-03-05 2015-06-10 ブラス・モンキー・インコーポレイテッドBrass Monkey,Inc. Webブラウザにおける双方向通信および内容制御のシステムおよび方法
US20110250967A1 (en) * 2010-04-13 2011-10-13 Kulas Charles J Gamepiece controller using a movable position-sensing display device
US20110257958A1 (en) 2010-04-15 2011-10-20 Michael Rogler Kildevaeld Virtual smart phone
US8515255B2 (en) * 2010-04-24 2013-08-20 Walker Digital, Llc Systems and methods for enhancing media with supplemental content
US20120100900A1 (en) * 2010-10-21 2012-04-26 Aibelive Co., Ltd Method for operating a mobile device to control a main Unit in playing a video game
US20120144319A1 (en) 2010-12-03 2012-06-07 Razer (Asia-Pacific) Pte Ltd Collaboration Management System
CA2824287C (en) * 2011-01-21 2018-07-03 Qualcomm Incorporated User input back channel for wireless displays
US9787725B2 (en) 2011-01-21 2017-10-10 Qualcomm Incorporated User input back channel for wireless displays
US10135900B2 (en) 2011-01-21 2018-11-20 Qualcomm Incorporated User input back channel for wireless displays
JP6302614B2 (ja) * 2011-02-25 2018-03-28 任天堂株式会社 通信システム、情報処理装置、プログラム及び情報処理方法
US9176214B2 (en) * 2011-08-10 2015-11-03 Microsoft Technology Licensing, Llc Proximity detection for shared computing experiences
US20130147787A1 (en) * 2011-12-12 2013-06-13 Sergey Ignatchenko Systems and Methods for Transmitting Visual Content
US9288524B2 (en) * 2011-12-21 2016-03-15 Sony Corporation Using TV over VPN to present remote device application graphics
US11544750B1 (en) 2012-01-17 2023-01-03 Google Llc Overlaying content items with third-party reviews
EP2807594B1 (en) * 2012-01-26 2021-08-25 BlackBerry Limited Methods and devices for distributing content to an electronic device
JP5248689B1 (ja) * 2012-02-17 2013-07-31 株式会社コナミデジタルエンタテインメント ゲーム制御装置、プログラム、ゲーム制御方法、ゲーム制御システム
CN102625171B (zh) * 2012-03-16 2014-12-03 晨星软件研发(深圳)有限公司 智能电视的远程控制方法、系统及相应的设备
GB201205761D0 (en) * 2012-03-30 2012-05-16 Sony Corp A method and device
US9597586B1 (en) 2012-05-07 2017-03-21 CP Studios Inc. Providing video gaming action via communications in a social network
US8749489B2 (en) 2012-05-25 2014-06-10 Nintendo Co., Ltd. Controller device, information processing system, and communication method
EP2706432B1 (en) * 2012-05-25 2017-12-06 Nintendo Co., Ltd. Operation device, information processing system, and information processing method
ES2868230T3 (es) 2012-06-13 2021-10-21 Huawei Device Co Ltd Método y terminal móvil para implementar el uso compartido de información
FR2995486B1 (fr) * 2012-09-10 2015-12-04 Ifeelsmart Procede de commande de l'affichage d'un televiseur numerique
US10942735B2 (en) * 2012-12-04 2021-03-09 Abalta Technologies, Inc. Distributed cross-platform user interface and application projection
RU2625952C2 (ru) * 2013-03-15 2017-07-19 Интел Корпорейшн Технология мобильного вычислительного устройства и система и способы, использующие ее
US9684499B2 (en) 2013-06-30 2017-06-20 Dropbox, Inc. Systems and methods for facilitating installation of software applications
KR20150025584A (ko) 2013-08-29 2015-03-11 삼성전자주식회사 화면 공유 방법 및 그 전자 장치
JP6153450B2 (ja) * 2013-10-30 2017-06-28 株式会社ソニー・インタラクティブエンタテインメント 情報処理システムおよび情報処理装置
CN109977086B (zh) 2013-11-29 2023-09-01 华为终端有限公司 终端间应用共享的方法和终端
US10873616B1 (en) 2013-12-10 2020-12-22 Google Llc Providing content to co-located devices with enhanced presentation characteristics
CA2841371A1 (en) * 2014-01-31 2015-07-31 Usquare Soft Inc. Devices and methods for portable processing and application execution
US9483997B2 (en) 2014-03-10 2016-11-01 Sony Corporation Proximity detection of candidate companion display device in same room as primary display using infrared signaling
US9696414B2 (en) 2014-05-15 2017-07-04 Sony Corporation Proximity detection of candidate companion display device in same room as primary display using sonic signaling
US10070291B2 (en) 2014-05-19 2018-09-04 Sony Corporation Proximity detection of candidate companion display device in same room as primary display using low energy bluetooth
WO2016073035A1 (en) * 2014-11-05 2016-05-12 Super League Gaming, Inc. Game system
US10116748B2 (en) 2014-11-20 2018-10-30 Microsoft Technology Licensing, Llc Vehicle-based multi-modal interface
US10073599B2 (en) 2015-01-07 2018-09-11 Microsoft Technology Licensing, Llc Automatic home screen determination based on display device
US20180005603A1 (en) * 2015-04-17 2018-01-04 Hewlett-Packard Development Company, L.P. Management of display inputs
US20180050269A1 (en) * 2016-08-18 2018-02-22 Activision Publishing, Inc. Systems and methods for providing a single virtual reality game play instance for multiple clients using different game platforms
US11188514B2 (en) * 2018-02-09 2021-11-30 Darren Amundson Fishing tournament platform for creating, managing, joining, and participating in fishing tournaments
US11260295B2 (en) 2018-07-24 2022-03-01 Super League Gaming, Inc. Cloud-based game streaming
US11863700B2 (en) * 2019-05-06 2024-01-02 Apple Inc. Providing user interfaces based on use contexts and managing playback of media
CN110442366B (zh) * 2019-08-09 2021-06-15 广州视源电子科技股份有限公司 一种传屏处理方法、装置、设备和存储介质
US11016717B1 (en) 2019-11-08 2021-05-25 Microsoft Technology Licensing, Llc Selective electronic content casting
US11260291B2 (en) * 2019-12-31 2022-03-01 Dell Products L.P. Information handling system and detachable game controller
US11013987B1 (en) 2019-12-31 2021-05-25 Dell Products L.P. Information handling system controller scalable interface
US11331567B2 (en) 2019-12-31 2022-05-17 Dell Products L.P. Information handling system and game controller trigger
US11013991B1 (en) 2019-12-31 2021-05-25 Dell Products L.P. Information handling system controller adaptive haptic feedback
US11260288B2 (en) 2019-12-31 2022-03-01 Dell Products L.P. Disassemblable information handling system game controller
US11097185B2 (en) 2019-12-31 2021-08-24 Dell Products L.P. Detachable information handling system game controller management
US11338197B2 (en) 2019-12-31 2022-05-24 Dell Products L.P. Information handling system controller distributable hardware and logic management

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5983233A (en) * 1996-08-20 1999-11-09 Alcatel Alsthom Compagnie Generale D'electricite Process for managing the naming of objects, process for mapping an object name to a CORBA object reference, program module, computer unit, and computer system
US6518956B1 (en) * 1999-05-28 2003-02-11 Sony Corporation Image pick-up apparatus
US20060068917A1 (en) * 2004-09-21 2006-03-30 Snoddy Jon H System, method and handheld controller for multi-player gaming
US20070030824A1 (en) * 2005-08-08 2007-02-08 Ribaudo Charles S System and method for providing communication services to mobile device users incorporating proximity determination
US20070220562A1 (en) * 2006-03-03 2007-09-20 Motorola, Inc. Method and apparatus for selectively rendering media content on remote displays

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6390371B1 (en) * 1998-02-13 2002-05-21 Micron Technology, Inc. Method and system for displaying information uniformly on tethered and remote input devices
US7600673B2 (en) * 1999-08-09 2009-10-13 First Data Corporation Systems and methods for performing transactions at a point-of-sale
US6784855B2 (en) * 2001-02-15 2004-08-31 Microsoft Corporation Methods and systems for a portable, interactive display device for use with a computer
US7117494B2 (en) * 2001-08-10 2006-10-03 Kyocera Wireless Corp. System and method for bi-directional communication and execution of dynamic instruction sets
US6938077B2 (en) * 2001-11-07 2005-08-30 Microsoft Corporation Client version advertisement service for overriding default client version properties
EP1671467A1 (en) * 2003-09-10 2006-06-21 Nokia Corporation Method and system for establishing a data link layer protocol on a physical layer port connection
US9088748B2 (en) * 2004-07-16 2015-07-21 Universal Electronics Inc. System for providing electronic media and commands via remote control and docking station
GB2420256B (en) * 2004-11-16 2007-05-23 Skinkers Ltd Provision of personal data in a communications network
US7360154B2 (en) * 2004-11-17 2008-04-15 Cisco Technology, Inc. System and method for virtual router enabled electronic documents
US7710418B2 (en) * 2005-02-04 2010-05-04 Linden Acquisition Corporation Systems and methods for the real-time and realistic simulation of natural atmospheric lighting phenomenon
US8038535B2 (en) * 2005-05-17 2011-10-18 Electronic Arts Inc. Collaborative online gaming system and method
US20080201751A1 (en) * 2006-04-18 2008-08-21 Sherjil Ahmed Wireless Media Transmission Systems and Methods
JP2007312250A (ja) * 2006-05-19 2007-11-29 Canon Inc Web情報処理装置及びWeb情報処理方法、情報処理装置及び情報処理装置の制御方法
US7890090B2 (en) * 2006-06-09 2011-02-15 Motorola Mobility, Inc. Dynamic mobile call forwarding by local area service discovery
EP2082395A2 (en) * 2006-09-14 2009-07-29 Google, Inc. Integrating voice-enabled local search and contact lists
CA2666616A1 (en) * 2006-10-19 2008-04-24 Fruitful Technologies Pty Ltd An interactive system and process
CA2677117A1 (en) * 2007-01-31 2008-08-07 Timeplay Ip Inc. System, method and handheld controller for multi-player gaming
US20090157867A1 (en) * 2007-12-18 2009-06-18 International Business Machines Corporation System and method for real-time graphic monitoring of differing graphics resolutions using a single graphics buffer
US9602864B2 (en) * 2009-06-08 2017-03-21 Time Warner Cable Enterprises Llc Media bridge apparatus and methods

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5983233A (en) * 1996-08-20 1999-11-09 Alcatel Alsthom Compagnie Generale D'electricite Process for managing the naming of objects, process for mapping an object name to a CORBA object reference, program module, computer unit, and computer system
US6518956B1 (en) * 1999-05-28 2003-02-11 Sony Corporation Image pick-up apparatus
US20060068917A1 (en) * 2004-09-21 2006-03-30 Snoddy Jon H System, method and handheld controller for multi-player gaming
US20070030824A1 (en) * 2005-08-08 2007-02-08 Ribaudo Charles S System and method for providing communication services to mobile device users incorporating proximity determination
US20070220562A1 (en) * 2006-03-03 2007-09-20 Motorola, Inc. Method and apparatus for selectively rendering media content on remote displays

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012064199A (ja) * 2010-08-20 2012-03-29 Nintendo Co Ltd 位置算出システム、位置算出装置、位置算出プログラム、および位置算出方法
JP2015525085A (ja) * 2012-05-02 2015-09-03 アキーモ, リミテッド ライアビリティー カンパニーAquimo, LLC モバイルデバイス動作センサ入力を用いたwebベースのゲームプラットフォーム
JP2020135883A (ja) * 2019-02-12 2020-08-31 富士ゼロックス株式会社 制御アセンブリ、方法、及びプログラム
JP7434985B2 (ja) 2019-02-12 2024-02-21 富士フイルムビジネスイノベーション株式会社 外部コンピュータシステムの組立式コントローラ、方法、及びプログラム

Also Published As

Publication number Publication date
US20120077586A1 (en) 2012-03-29
WO2010062617A1 (en) 2010-06-03

Similar Documents

Publication Publication Date Title
JP2012507091A (ja) インターラクティブなプロキシミティディスプレイのテザーのための装置、方法およびシステム
US20120079080A1 (en) Apparatuses, Methods and Systems For An Interactive Proximity Display Tether With Remote Co-Play
WO2020114007A1 (zh) 实现游戏手柄远程操控电脑游戏的方法、系统与电子设备
US9827493B2 (en) Gaming assistance system and method
US9305328B2 (en) Methods and apparatus for a distributed object renderer
JP6086571B2 (ja) ソーシャルネットワーキングプラットフォームを介して周辺デバイスをコントロールするための方法およびデバイス
US9424052B2 (en) Remotely emulating computing devices
WO2017054466A1 (zh) 一种信息处理方法、终端及计算机存储介质
WO2016180135A1 (zh) 直播互动系统、信息发送方法、信息接收方法及设备
CN111494965B (zh) 信息处理方法、装置、设备及存储介质
US20140201256A1 (en) Appliance control system and method
CN112169327A (zh) 一种云游戏的控制方法以及相关装置
EP2945714B1 (en) Generic companion-messaging between media platforms
US10967259B1 (en) Asynchronous event management for hosted sessions
Oriti et al. Harmonize: A shared environment for extended immersive entertainment
JP2016047266A (ja) 通信ゲームシステム
Parthasarathy et al. Performance evaluation of a multi-user virtual reality platform
JP2020532897A (ja) 消費者行動及びリアルタイムコンテンツ可用性に基づくインテリジェントテレビの起動
WO2010091312A1 (en) Apparatuses, methods and systems for an enhanced device feature cradle
KR20210064914A (ko) 게임 서비스 방법 및 이를 수행하기 위한 컴퓨팅 장치
KR20130050061A (ko) 위치기반 서비스에 기초한 온라인 및 오프라인 결합 게임 제공 방법
Font Calvo Network traffic characterisation, analysis, modelling and simulation for networked virtual environments
Calvo Network traffic characterisation, analysis, modelling and simulation for networked virtual environments
KR20220152820A (ko) 클라우드 게임 서비스 제공 시스템 및 클라우드 게임 서비스 제공 방법
CN116920425A (zh) 虚拟场景中服务的处理方法、装置、设备及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121025

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130827

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140311