CN103139198B - 信息处理系统、信息处理服务器和信息处理方法 - Google Patents

信息处理系统、信息处理服务器和信息处理方法 Download PDF

Info

Publication number
CN103139198B
CN103139198B CN201210505783.XA CN201210505783A CN103139198B CN 103139198 B CN103139198 B CN 103139198B CN 201210505783 A CN201210505783 A CN 201210505783A CN 103139198 B CN103139198 B CN 103139198B
Authority
CN
China
Prior art keywords
server
input information
performance element
terminal
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.)
Active
Application number
CN201210505783.XA
Other languages
English (en)
Other versions
CN103139198A (zh
Inventor
吉田和司
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Publication of CN103139198A publication Critical patent/CN103139198A/zh
Application granted granted Critical
Publication of CN103139198B publication Critical patent/CN103139198B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/352Details of game servers involving special game server arrangements, e.g. regional servers connected to a national server or a plurality of servers managing partitions of the game world
    • 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
    • A63F13/358Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • 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/51Server architecture
    • A63F2300/513Server architecture server hierarchy, e.g. local, regional, national or dedicated for different tasks, e.g. authenticating, billing
    • 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/53Features 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 basic data processing
    • A63F2300/534Features 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 basic data processing for network load management, e.g. bandwidth optimization, latency reduction
    • 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/53Features 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 basic data processing
    • A63F2300/535Features 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 basic data processing for monitoring, e.g. of user parameters, terminal parameters, application parameters, network parameters
    • 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/5526Game data structure
    • A63F2300/5533Game data structure using program state or machine event data, e.g. server keeps track of the state of multiple players on in a multiple player game
    • 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/5593Details of game data or player data management involving scheduling aspects

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

一种信息处理系统包括第一服务器和第二服务器。第一服务器包含:第一执行单元,配置为使用顺序获得的输入信息项目,以第一速度执行应用;以及第一发送单元,配置为发送应用的执行结果到终端。第二服务器包含:再现数据获得单元,配置为获得包含顺序获得的输入信息项目的再现数据,用于再现第一执行单元的状态;输入信息获得单元,配置为获得响应于到第二服务器的输入信息发送指令,从终端顺序发送的输入信息项目;第二执行单元,配置为执行应用;以及第二发送单元,配置为发送通过第二执行单元的应用的执行结果到终端。

Description

信息处理系统、信息处理服务器和信息处理方法
技术领域
本发明涉及信息处理系统、信息处理服务器、信息处理方法、信息处理程序以及存储信息处理程序的计算机可读存储介质。
背景技术
已知所谓的在线游戏,其中服务器经由网络连接到客户端,使得游戏在线游玩。
发明内容
例如,通过在每个游戏服务器中再现用于执行对应于游戏设备的游戏的单元(游戏执行单元)并且发送由该游戏执行单元执行游戏程序的结果到各个终端,实现上述在线游戏。在以上,可能存在这样的情况,其中例如连接的终端的数目减少,并且在每个服务器上的负荷因此减少。在这样的情况下,可能是无效率的,并且导致总体上系统用于维持这种具有低负荷因子的多个服务器处于激活状态的较高成本。
已经鉴于以上构思本发明的一个或多个实施例,并且其目的是提供一种信息处理系统、信息处理服务器、信息处理方法、信息处理程序、存储信息处理程序的计算机可读存储介质,其例如能够使得服务器接管正在另一服务器中实施的游戏的执行,同时使得用户连续玩游戏。
(1)在本发明的一个或多个实施例中,一种信息处理系统包括第一服务器和第二服务器。第一服务器,包含:第一执行单元,配置为使用顺序获得的输入信息项目,以第一速度执行应用;以及第一发送单元,配置为发送应用的执行结果到终端。第二服务器包含:再现数据获得单元,配置为获得包含顺序获得的输入信息项目的再现数据,用于再现第一执行单元的状态;输入信息获得单元,配置为获得响应于到第二服务器的输入信息发送指令,从终端顺序发送的输入信息项目;第二执行单元,配置为执行应用;以及第二发送单元,配置为发送通过第二执行单元的应用的执行结果到终端。第二执行单元至少使用顺序获得并且包含在再现数据中的输入信息项目,以比第一速度更快的第二速度执行应用,以便在第二执行单元中再现第一执行单元的状态。在再现第一执行单元的状态之后,第二执行单元使用由第二服务器顺序获得的输入信息项目,以对应于第一速度的速度执行应用。在第二执行单元开始发送应用的执行结果到终端之后,第一服务器停止发送应用的执行结果到终端。
(2)根据(1)的信息处理系统,再现数据包括指示第一执行状态的执行状态信息。在第二执行单元中,第二执行单元进一步使用执行状态信息再现第一执行单元的状态。
(3)根据(1)或(2)的信息处理系统,再现数据获得单元从第一服务器获得再现数据。
(4)根据(1)的信息处理系统,再现数据获得单元从不同于第一服务器或第二服务器的第三服务器获得一部分再现数据。
(5)根据(1)到(4)之一的信息处理系统,第二执行单元至少使用顺序获得并且包含在再现数据中的输入信息项目,以比第一速度更快的第二速度执行应用,直到由第二执行单元使用来自终端的当前输入信息执行应用变得可能,以便在第二执行单元中再现第一执行单元的状态。
(6)根据(5)的信息处理系统,在执行变得可能之后,第二执行单元使用由包括在第二服务器中的输入信息获得单元顺序获得的输入信息项目,以对应于第一速度的速度执行应用。
(7)在本发明的一个或多个实施例中,一种信息处理方法,包括:由包括在第一服务器中的第一执行单元使用顺序获得的输入信息项目,以第一速度开始执行应用;由第一服务器开始发送应用的执行结果到终端;由第二服务器获得包含顺序获得的输入信息项目的再现数据,以便再现第一执行单元的状态;由第二服务器开始获得响应于到第二服务器的输入信息发送指令,从终端顺序发送的输入信息项目;由第二服务器中包含的第二执行单元至少使用顺序获得并且包含在再现数据中的输入信息项目,以比第一速度更快的第二速度执行应用,以便在第二执行单元中再现第一执行单元的状态;在再现第一执行单元的状态之后,由第二执行单元使用由第二服务器顺序获得的输入信息项目,以对应于第一速度的速度开始执行应用;由第二服务器开始发送第二执行单元的应用的执行结果到终端;并且在开始发送第二执行单元的应用的执行结果到终端之后,由第一服务器停止发送应用的执行结果到终端。
(8)在本发明的一个或多个实施例中,一种用于存储信息处理程序的计算机可读存储介质,所述信息处理程序用于使得计算机用作:第一服务器,包含第一执行单元,配置为使用顺序获得的输入信息项目,以第一速度执行应用,以及第一发送单元,配置为发送应用的执行结果到终端,以及第二服务器,包含再现数据获得单元,配置为获得包含顺序获得的输入信息项目的再现数据,用于再现第一执行单元的状态,输入信息获得单元,配置为获得响应于到第二服务器的输入信息发送指令,从终端顺序发送的输入信息项目,第二执行单元,配置为执行应用,以及第二发送单元,配置为发送通过第二执行单元的应用的执行结果到终端。第二执行单元至少使用顺序获得并且包含在再现数据中的输入信息项目,以比第一速度更快的第二速度执行应用,以便在第二执行单元中再现第一执行单元的状态。在再现第一执行单元的状态之后,第二执行单元使用由第二服务器顺序获得的输入信息项目,以对应于第一速度的速度执行应用。在第二执行单元开始发送应用的执行结果到终端之后,第一服务器停止发送应用的执行结果到终端。
(9)在本发明的一个或多个实施例中,一种第一服务器,包括:第一执行单元,配置为使用顺序获得的输入信息项目,以第一速度执行应用;以及第一发送单元,配置为发送应用的执行结果到终端。在第二服务器中包括:再现数据获得单元,配置为获得包含顺序获得的输入信息项目的再现数据,用于再现第一执行单元的状态;输入信息获得单元,配置为获得响应于到第二服务器的输入信息发送指令,从终端顺序发送的输入信息项目;第二执行单元,配置为执行应用;以及第二发送单元,配置为发送通过第二执行单元的应用的执行结果到终端。第二执行单元至少使用顺序获得并且包含在再现数据中的输入信息项目,以比第一速度更快的第二速度执行应用,以便在第二执行单元中再现第一执行单元的状态,并且在再现第一执行单元的状态之后,第二执行单元使用由第二服务器顺序获得的输入信息项目,以对应于第一速度的速度执行应用。在第二执行单元开始发送应用的执行结果到终端之后,第一服务器停止发送应用的执行结果到终端。
附图说明
图1说明根据第一实施例的信息处理系统的一个示例;
图2说明图1所示的终端的结构的一个示例;
图3示出图1所示的终端的外观的一个示例;
图4说明图1所示的虚拟服务器;
图5说明图1所示的信息处理系统的功能结构的一个示例;
图6说明图1所示的信息处理系统的处理流程的一个示例;
图7A说明快进的执行的一个示例;
图7B说明快进的执行的另一示例;
图8A说明根据第二实施例的第一迁移单元的功能结构的一个示例;
图8B说明根据第二实施例的第二迁移单元的功能结构的一个示例;
图9说明根据第二实施例的信息处理系统的处理流程;
图10A说明根据第三实施例的第一迁移单元的功能结构的一个示例;
图10B说明根据第三实施例的第二迁移单元的功能结构的一个示例;
图10C说明根据第三实施例的文件服务器的功能结构的一个示例;
图11说明根据第三实施例的信息处理系统的处理流程;
图12A说明根据第四实施例的第一迁移单元的功能结构的一个示例;
图12B说明根据第四实施例的第二迁移单元的功能结构的一个示例;
图12C说明根据第四实施例的文件服务器的功能结构的一个示例;以及
图13说明根据第四实施例的信息处理系统的处理流程。
具体实施方式
在以下,将参照附图描述本发明的实施例。附图中相同和等价的元件给予相同的参考标号,并且省略重复描述。
[第一实施例]
图1说明本发明的实施例中的信息处理系统的一个示例。如图1所示,该实施例中的信息处理系统110包括云基础(cloudbase)100和一个或多个终端102。云基础100和终端102经由网络101相互连接。
云基础100包括管理服务器103、稍后描述的一个或多个虚拟服务器(VM)104、以及一个或多个数据库(DB)105。在此提及的云基础100指一种基于网络101的计算机的使用方式,作为用户经由网络使用作为服务器的计算机处理的基体。
如图2所示,终端102包括控制单元201、通信单元202、存储单元203、显示单元204和操作单元205。各个单元201到205经由总线206相互连接。控制单元201是例如CPU、MPU等,并且根据存储单元203中存储的程序操作。存储单元203包括例如诸如硬盘、ROM、RAM等的信息存储介质,用于存储要由控制单元201执行的程序。存储单元203可以还操作为控制单元201的工作存储器。要由控制单元210执行的程序可以由例如经由网络101下载或存储在诸如CD-ROM、DVD-ROM等的各种计算机可读信息存储介质中来提供。
操作单元205包括诸如键盘、鼠标、控制器、按钮等的接口,并且响应于通过用户的指令操作,输出指令操作的内容到控制单元201。显示单元204是例如液晶显示器、CRT显示器、有机EL显示器等,并且根据来自控制单元201的指令示出信息。操作单元205和显示单元204可以分别包括触摸板。
终端102的上述结构仅是示例,并且不是限制。具体地,终端102可以包括例如电视、智能电话、平板或个人计算机,并且操作单元205可以包括游戏杆或电视的遥控器。数据库105和管理服务器103可以包括类似于上述那些的控制单元201、通信单元202和存储单元203,在此省略其详细说明。
图3示出终端的外观的一个示例。如图3所示,终端102包括例如方向键301、多个按钮302和模拟操作单元303作为操作单元205,以及显示屏幕304作为显示单元204。
方向键301包括例如上方向指定键、下方向指定键、右方向指定键和左方向指定键。使用方向键301,用户例如上、下、左、右移动在屏幕图像上示出的目标对象。多个按钮302分别具有例如诸如a、b、c、d等的标记。例如,通过按压这些按钮302,用户可以执行根据正在执行的应用分配给各个按钮的处理。多个按钮302可以是所谓的模拟按钮,用于以根据用户按压各个按钮的力量或距离的方式执行处理。
模拟操作单元303可以从例如预定参考位置倾斜,使得用户根据模拟操作单元303从参考位置的倾斜量和方向输入信息。例如,使用模拟操作单元303,用户可以根据倾斜量和方向在他的/她的希望方向将在显示屏幕304上示出的目标对象倾斜他的/她的希望量。显示屏幕304对应于显示单元204的显示屏幕304,并且示出例如根据应用的图像等。
在图3所示的终端102的外观和操作单元205和显示单元204的结构仅仅是示例,并且不是限制。也就是说,例如操作单元205可以包括在显示单元204上示出的触摸板,并且显示单元204可以包括使用CRT或液晶显示设备形成的诸如监视器等的显示屏幕。方向键301、多个按钮302和模拟操作单元303的数目和形状可以与上述那些不同,并且终端102可以具有其他按钮或加速度传感器,诸如开始按钮、选择按钮(未示出)等。
图4说明图1所示的虚拟服务器。如图4所示,云基础100包括虚拟服务器控制单元401和连接到虚拟服务器控制单元401的物理机器402。
如图4所示,每个物理机器402具有提供到其的管理程序403,并且在管理程序403上实现一个或多个虚拟服务器104。管理程序403指用于在没有通用OS的帮助的情况下在每个物理机器402中实现虚拟服务器104并且控制虚拟服务器104的软件。如所公知的,虚拟服务器104对应于一组虚拟地生成的CPU和存储器。每个物理机器402是包括CPU、存储器等的计算机。
每个虚拟服务器104具有OS404和应用405。要由虚拟服务器104执行的程序对应于应用405之一。虚拟服务器控制单元401具体地通过经由管理程序403分配物理机器402的资源(例如,诸如CPU的处理时间、存储器容量等的资源)到虚拟服务器104并且控制分配的资源,生成一个或多个虚拟服务器104。
也就是说,实际上,在物理机器402中实现下面要描述的虚拟服务器104中程序的安装和执行。例如,包括本实施例中的一个程序的多个程序存储在使用物理机器402中的存储器等形成的存储单元中,并且本实施例中的程序实际由物理机器402的一个或多个CPU执行。在以上,物理机器402的一个或多个CPU还用于执行多个程序,并且例如源自分割的一个或多个CPU的一部分的处理时间分配来执行本实施例中的程序。上述虚拟服务器104等的结构仅仅是示例,并且不是限制。
参照图5和6,下面将描述信息处理系统110的功能结构和处理流程的示例。图5说明本实施例中信息处理系统110的功能结构的一个示例。图6说明本实施例中信息处理系统110的处理流程的一个示例。
如图5所示,本实施例中的信息处理系统110功能上包括管理服务器103、第一服务器501和第二服务器502。第一服务器501和第二服务器502分别对应于例如图1所示的多个虚拟服务器104之一。尽管图5中示出两个虚拟服务器104(第一服务器501和第二服务器502),并且为了描述的简洁在两个虚拟服务器104的每个中实施一个游戏实例,可能根据例如在信息处理系统110中连接的终端102的数目实施虚拟服务器104的数目,并且可能在每个虚拟服务器104中实施任何其他数目的游戏实例。游戏实例对应于在服务器中再现的一个游戏设备的功能。
为了简化描述,作为示例下面将描述在第一服务器501到第二服务器502的服务器处理的迁移中实施的信息处理系统110的功能结构和流程的示例。例如,在上述示例中,游戏实例的第二服务器502中的迁移单元实施在第一服务器501中实施,并且游戏程序的连续执行在第一服务器501中执行。具体地,下面将描述这样的情况作为一个示例,其中当仅仅一个游戏实例在第一服务器501中实施,并且第二服务器502的CPU利用率允许第二服务器502中一个游戏实例的实施,在第一服务器501中实施的游戏实例在第二服务器中连续执行,并且在第一服务器501中执行的游戏程序连续执行。注意到取决于服务器上的负荷,可能存在这样的情况,其中在第二服务器502中实施的游戏实例在第一服务器501中连续实施,或者存在另一情况,一个虚拟服务器104(例如,第一服务器501和第二虚拟服务器502)可以具有稍后描述的功能结构,特别是第一和第二服务器501、502的迁移单元。此外,第一和第二服务器501、502的一部分功能结构可以在另一虚拟服务器104、管理服务器103或另一服务器中实施,如稍后描述的。
第一服务器501中的第一输入信息获得单元503对于每个预定时间段从相应的终端102顺序获得输入信息。相应的终端102在此指连接到正在第一服务器501中实施的游戏实例的终端102。也就是说,第一输入信息获得单元503获得例如关于作为游戏程序中的操作目标的角色(character)的信息作为输入信息,并且将在游戏实例中执行的游戏程序的执行结果分发到相应的终端102。执行的结果包括例如根据游戏程序的执行的运动画面信息,并且终端102在终端102的显示单元204上示出运动画面信息。执行的结果可以在发送到终端102之前由压缩单元(未示出)压缩。在此情况下,在显示单元204上显示之前,终端102解压压缩的执行结果。
第一执行单元504执行使用相应的终端102的用户希望的游戏程序。也就是说,第一执行单元504基于由第一输入信息获得单元503从终端102顺序获得的输入信息项目执行处理,从而执行游戏程序。具体地,例如根据顺序获得的输入信息项目,移动作为游戏程序中的操作目标的角色,或者使得角色行动。第一执行单元504对应于例如仿真器或模拟器。例如,在游戏程序存储在DB105中的同时,第一执行单元504从DB105获得游戏程序,以便执行用户指定的游戏程序。
第一发送单元506将由第一执行单元504的游戏程序的执行结果发送到相应的终端102。具体地,例如,基于游戏程序的执行的运动画面信息和音频信息在经由网络101发送到相应的终端102之前压缩。也就是说,在此实施例中,在发送下面要描述的迁移指令之前,例如在第一服务器501中实施的游戏实例中执行游戏程序,并且伴随游戏程序的执行的执行结果分发到终端102。也就是说,在伴随迁移的处理开始之前,在第一服务器501中执行游戏程序,并且伴随执行的运动画面信息和音频信息分发到终端102,使得用户玩游戏程序。
下面主要描述伴随迁移的处理以及用于实施处理的功能结构和处理流程。管理服务器103包括服务器管理单元511和负载监视单元512。负载监视单元512对于每个预定时间段(例如,每60秒)监视每个虚拟服务器104上的负载。具体地,例如,负载监视单元512监视每个虚拟服务器104的CPU利用率和网络I/O(输入/输出)的状态,以便监视每个虚拟服务器104上的负载,并且输出指示在虚拟服务器104上的负载的负载信息到稍后要描述的服务器管理单元511。
基于来自负载监视单元512的负载信息,服务器管理单元511指令稍后要描述的各个管理服务器103之间的迁移,并且管理各个虚拟服务器104的激活和终止。具体地,在上述示例中,服务器管理单元511获得来自负载监视单元512的负载信息,该负载信息描述当在第一服务器501中仅仅实施一个游戏实例时,第一服务器501的CPU利用率低,并且第二服务器502的CPU利用率允许在第二服务器502中一个游戏实例的实施。
在此,基于负载信息,服务器管理单元511在第二服务器502中再现正在第一服务器501中实施的游戏实例,如图6所示,并且发送用于连续执行的迁移指令到第一服务器501和第二服务器502(S101、S102)。尽管在图6中迁移指令首先发送到第一服务器501(S101)然后发送到第二服务器502(S102),但是迁移指令可以同时发送到第一服务器501和第二服务器502,或者首先发送到第二服务器502然后发送到第一服务器501。
响应于来自管理服务器103的迁移指令,第一服务器501的第一输入信息保持单元507开始保持由第一输入信息获得单元503从终端102连续获得的输入信息项目(S103)。输入信息包括例如指示获得输入信息的顺序的顺序信息。具体地,例如,在第一输入信息获得单元503顺序获得分别包含顺序信息项目1、2、3、4、5等的输入信息项目,并且在顺序信息项目4和5的接收之间接收迁移指令的情况下,第一输入信息保持单元507保持分别包含顺序信息项目5以及此后顺序信息项目一起的输入信息项目。也就是说,在此情况下,第一输入信息保持单元507顺序保持分别包含例如顺序信息项目5、6、7等的输入信息项目。
在开始由第一输入信息保持单元507保持输入信息时,第一状态信息获得单元508获得描述由第一执行单元504的执行状态的状态信息(S104)。也就是说,在上述示例中,第一状态信息获得单元508获得当根据包含顺序信息4的输入信息执行处理时可用的状态信息。然后,第一状态信息获得单元508接下来要输入的顺序信息(上述示例中的顺序信息5)一起发送获得的状态信息到第二服务器502(S105)。第二服务器502的第二状态信息保持单元518与顺序信息一起保持状态信息(S106)。
注意到,状态信息对应于执行在使用仿真器或模拟器形成的第一执行单元504或第二执行单元514中再现的游戏程序的游戏设备的状态信息(存储器、寄存器、程序计数器等的值)。当安装游戏设备本身时,状态信息对应于游戏设备的状态信息。
响应于迁移指令,第一输入信息发送指令单元509发送输入信息发送指令到相应的终端102,该输入信息发送指令用于发送输入信息到第二服务器502(S107)。在以上,迁移指令包括例如用于标识第二服务器502的服务器标识信息,并且输入信息发送指令包括用于标识第二服务器502的服务器标识信息。已经获得输入信息发送指令,终端102开始发送输入信息到由服务器标识信息标识的服务器(上述示例中的第二服务器502)(S108)。具体地,在上述示例中,当接收输入信息发送指令之前一定时间段已经过去,终端102开始发送分别包含例如顺序信息项目8和其后(即,顺序信息项目8、9、10等)的输入信息项目。
第二服务器502的第二输入信息保持单元517响应于来自第一服务器501的输入信息发送指令,开始保持从终端502获得的输入信息(S109)。具体地,在上述示例中,第二输入信息保持单元517开始保持分别包含顺序信息项目8、9、10等的输入信息项目。
第二服务器502的输入信息请求单元519指定请求第一服务器501的输入信息(S110),并且发送用于请求输入信息的请求指令到第一服务器501(S111)。在以上,例如,与第二状态信息保持单元518中保持的状态信息相关联保持的顺序信息与第二输入信息保持单元517中保持的顺序信息相比,以便指定输入信息没有保持在第二服务器502中,也就是说,缺乏输入信息,并且请求缺乏的输入信息。具体地,在上述示例中,在顺序信息5与状态信息相关联,并且第二输入信息保持单元517中保持的输入信息项目的顺序信息项目时8、9、10等时,对应于顺序信息项目5、6、7的输入信息项目指定为请求第一服务器501的输入信息项目,并且用于请求那些输入信息项目的请求指令发送到第一服务器501。
基于来自第二服务器502的输入信息请求指令,第一服务器501的第一输入信息发送单元510发送第一输入信息保持单元507中保持的输入信息到第二服务器502(S112)。具体地,在上述示例中,从第一输入信息保持单元507获得分别包含顺序信息项目5、6、7的输入信息项目,并且发送到第二服务器502。
第二服务器502的第二输入信息保持单元517保持从第一服务器501发送的请求的输入信息(S113)。在上面情况下,在上述示例中,第二输入信息保持单元517可以保持分别包含与状态信息相关联的顺序信息项目以及随后的顺序信息项目(即,顺序信息项目5、6、7等)的输入信息项目。
第二服务器502的第二执行控制单元515在第二执行单元514中使用第二状态信息保持单元518中保持的状态信息,再现第一执行单元504的执行状态(S114),然后使得第二执行单元514使用第二输入信息保持单元517中保持的输入信息,保持快进执行直到变得可能使用来自终端102的当前输入信息开始游戏程序的执行(S115)。
注意到,快进单元的执行,例如以比预定为游戏程序的执行速度的速度(第一执行速度)更快的速度(第二执行速度)的游戏程序的执行。具体地,例如,使用第二输入信息保持单元517中保持的输入信息,使得第二执行单元514以第二执行单元514中可能实现的最快可能执行速度执行游戏程序,直到变得可能使用当前输入信息开始游戏程序的执行。在此情况下,例如,在用于使用当前输入信息执行游戏程序的时间之前,使用保持在第二输入信息保持单元517中保持的输入信息的快进结束的情况下,停止第二执行单元514。然后,在使得第二执行单元514以正常速度执行游戏程序之前,等待使用从终端102输入的输入信息以正常速度(对应于第一执行速度)用于由第二执行单元执行的时间。
在此注意存在这样的情况,例如第一执行单元504或第二执行单元514的执行速度比用于执行游戏程序的专用游戏设备的执行速度更快。在此情况下,也就是说,例如在用于每帧的渲染处理要求1/60秒完成的情况下,当帧渲染处理在1/60秒内完成时,由第一执行单元504或第二执行单元514的处理执行保持停止,直到到达对应于随后的1/60秒定时的时间,从而以正常速度执行游戏程序。此外,在此情况下,不通过停止第二执行处理实现通过第二执行单元514的快进,并且当使用保持在第二输入信息保持单元517中的输入信息的快进在对应于1/60秒定时的时间之前结束时,如上所述,可能安排使得通过第二执行单元514的快进停止,并且第二执行单元514此后对于每1/60秒以普通速度执行处理。
第二执行速度可以对应于在整个快进时间段上比第一执行速度更快的速度,并且包括两个或多个速度,诸如例如三倍速度和四倍速度。下面将描述图7所示的情况作为示例。图7示出保持在上述示例中的第二输入信息保持单元517中的输入信息项目的顺序信息项目,其中保持在第二输入信息保持单元517中的各个输入信息项目701示出为代表顺序信息项目的数字,并且t1到t2等指示第二输入信息保持单元517保持各个输入信息项目的时间。图7A涉及通过以三倍速度输入输入信息到第二执行单元514的快进,而图7B涉及通过以四倍速度输入输入信息到第二执行单元514的快进。
如图7A所示,分别包含顺序信息项目11、12、13、14的输入信息项目以例如时间t1、t2、t3、t4的顺序保持在第二输入信息保持单元517中。最初,在开始执行快进之后,分别包含顺序信息项目5、6、7的输入信息项目在时间t1输入到第二执行单元514。类似地,分别包含顺序信息项目8到10的输入信息项目在时间t2输入到第二执行单元514,并且分别包含顺序信息项目11到13的输入信息项目在时间t3输入到第二执行单元514。在时间t4,由于要输入的输入信息的顺序信息是14,并且顺序信息项目是13,因此到那时候已经快进,第二执行单元514在时间t4可以以普通速度(即,预定为游戏程序的游玩速度的速度)执行,并且此后使用从终端102顺序输入的输入信息项目(当前输入信息)执行。注意到,如上所述,从终端102顺序输入的输入信息项目顺序保持在第二输入信息保持单元517中。如上所述,第二执行控制单元515保持快进游戏程序,直到变得可能使用当前输入信息(对应于上述示例中包含顺序信息14的输入信息)由第二执行单元514执行。
在此注意到,如图7B所示,例如存在这样的情况,其中在快进中不能总是保持n倍速度(n是等于或大于2的自然数)。在这样的情况下,需要在执行快进时调整快进速度。具体地,在图7B中,例如这与四倍速度有关,由于在时间t2还没有保持包含顺序信息12的输入信息,所以不能在时间t2实现四倍速度。因此,在时间t2采用三倍速度,并且第二执行单元514在时间t3并且此后使用从终端102顺序输入的输入信息项目(当前输入信息)以普通速度执行。注意到,上述三倍速度和四倍速度的示例仅仅是示例,并且可以以不同速度执行快进。
在变得可能使用来自终端102的当前输入信息开始执行游戏程序之后,也就是说,在完成快进之后,第二执行控制单元515使得第二执行单元514以对应于第一速度的速度执行游戏程序(S116)。换句话说,第二执行单元514以普通速度执行游戏程序。在以上,第二执行单元514根据由第二输入信息获得单元513从终端102顺序获得的输入信息项目执行处理,从而执行游戏程序。
第二发送单元516开始发送通过第二执行单元514的执行结果到终端102(S117)。在以上,如上所述,由于此时已经可能由第二执行单元514使用来自终端102的当前输入信息开始执行游戏程序,所以当排除归因于通信的影响(诸如终端和第一服务器501之间以及终端102和第二服务器502之间的网络延迟等)时,由第二执行单元514使用当前输入信息的执行结果与由第一执行单元504的执行结果相同。因此,由于终端102在S117以及此后从第一执行单元504和从第二执行单元514接收相同的执行结果,所以替代来自第一服务器501的执行结果,在显示单元204上示出从第二服务器502发送的执行结果。
第二执行控制单元515发送通知第二服务器502中处理完成的完成通知到第一服务器501(S118)。响应于该完成通知,第一执行控制单元505停止由第一发送单元506发送由第一执行单元504的执行结果(S119)。在以上,第一执行控制单元505可能停止由第一执行单元504执行游戏程序和由第一输入信息保持单元507保持输入信息。第一执行控制单元505发送迁移完成通知到管理服务器103,通知响应于迁移指令在S101到S119完成第一服务器501和第二服务器502之间的迁移处理(S120)。响应于该迁移完成通知,管理服务器103的服务器管理单元511发送用于停止服务器的服务器停止指令到第一服务器501(S121)。响应于服务器停止指令,第一服务器501停止(S122)。
根据该实施例,在信息处理系统110中,在各个游戏服务器中实现多个执行游戏的单元,游戏的执行结果发送到各个终端102。在信息处理系统110中,当用户的数目减小并且各个服务器上的负荷因此降低时,通过实施服务器之间的迁移,可能避免具有低负荷的多个服务器保持激活,从而整体上增加信息处理系统110的效率,并且整体上避免信息处理系统110的成本的增加。此外,用户可以继续玩游戏而不知道服务器之间迁移的出现。
本发明不限于上述实施例,并且可能由与上述实施例中的结构和处理流程基本相同的结构和流程、那些产生相同效果的结构和流程、或者那些实现相同目的的结构和流程替代。例如,尽管以上已经描述了在服务器停止之前停止发送通过第一执行单元504的执行结果的结构,但是可能安排以便响应于服务器的停止,停止通过第一执行单元504执行游戏程序和发送执行的结果。
[第二实施例]
在以下,将描述本发明的第二实施例。如图8A和8B所示,在该实施例中,第一和第二服务器501、502的第一和第二迁移单元801、802的功能结构不同于第一实施例中第一和第二迁移单元520、521的那些功能结构,并且从终端102到第二服务器502的第一输入信息的传送也不同。在以下,主要描述与第一实施例的不同,并且类似点不再次描述。此外,类似于第一实施例,为了描述简洁,下面将描述在第一服务器501到第二服务器502的服务器处理的迁移中实施的信息处理系统110的功能结构和流程的示例作为示例。
参照图8A、8B和图9,下面将描述该实施例中信息处理系统110的功能结构和处理流程。图8A示出该实施例中第一服务器501的第一迁移单元801的功能结构,并且图8B示出该实施例中第二服务器502的第二迁移单元802的功能结构。图9示出该实施例中信息处理系统110的处理流程。
类似于第一实施例,基于来自负荷监视单元512的负荷信息,服务器管理单元511在第二服务器502中再现正在第一服务器501中实施的游戏实例,并且发送用于连续执行的迁移指令到第一服务器501和第二服务器502(S201、S202)。
响应于来自管理服务器103的迁移指令,第一输入信息传送单元803开始传送由第一输入信息获得单元503从终端102顺序获得的输入信息项目(S203)。具体地,例如,在第一输入信息获得单元503顺序获得分别包含顺序信息项目1、2、3、4、5等的输入信息项目,并且在接收顺序信息项目4和5之间接收迁移指令的情况下,第一输入信息传送单元803与顺序信息项目一起传送分别包含顺序信息项目5及此后的输入信息项目。也就是说,在此情况下,第一输入信息传送单元803顺序传送分别包含顺序信息项目5、6、7等的输入信息项目。
第二服务器502的第二输入信息保持单元806开始保持从第一服务器501传送的输入信息项目(S204)。具体地,在上述示例中,第二输入信息保持单元806顺序保持分别包含顺序信息项目5、6、7等的输入信息项目。
例如,在开始通过第一输入信息传送单元803传送输入信息时,第一状态信息获得单元804获得描述通过第一执行单元504的执行状态的状态信息(S205)。也就是说,在上述示例中,第一状态信息获得单元804获得当根据对应于顺序信息4的输入信息执行处理时可用的状态信息。然后,第一状态信息获得单元804与接下来要输入的顺序信息(上述示例中的顺序信息5)一起发送获得的状态信息到第二服务器502(S206)。第二服务器502的第二状态信息保持单元807与顺序信息一起保持状态信息(S207)。
响应于迁移指令,第一输入信息发送指令单元805发送用于同样发送输入信息到第二服务器502的输入信息发送指令到相应的终端102(S208)。已经接收输入信息发送指令,终端102开始发送输入信息到由服务器标识信息标识的服务器(在此情况下的第二服务器502)(S209)。具体地,在上述示例中,由于在接收输入信息发送指令之前一些时间段已经过去,所以终端102开始发送分别包含例如顺序信息项目8及此后(即,顺序信息项目8、9、10等)的输入信息项目。
第二服务器502的第二输入信息保持单元806响应于来自第一服务器501的输入信息发送指令,开始保持从终端102顺序获得的输入信息项目(S210)。具体地,在上述示例中,顺序保持分别包含顺序信息项目8、9、10等的输入信息项目。在以上,第二输入信息保持单元806除了来自第一服务器501的输入信息外,保持来自终端102的输入信息。在此情况下,由于第二输入信息保持单元806结果保持重复的输入信息项目,所以可能安排使得参照输入信息中包含的顺序信息,不保持重复的输入信息项目。具体地,在上述示例中,由于来自服务器501的各个输入信息项目(分别包含例如顺序信息项目5、6、7等)和来自终端102的那些输入信息项目(分别包含例如顺序信息项目8、9、10等)对于对应于顺序信息项目8及此后的输入信息项目相互重复。因此,对于对应于顺序信息项目8及此后的输入信息项目,可以不保持来自第一服务器501的输入信息,而可以保持来自终端102的输入信息。在此情况下,可以指示第一服务器501停止传送输入信息到第二服务器502。
第二服务器502的第二执行控制单元515使用第二状态信息保持单元807中保持的状态信息,在第二执行单元514中再现第一执行单元504的执行状态,然后使得第二执行单元514使用第二输入信息保持单元806中保持的输入信息执行快进,直到变得可能使用从终端102发送的当前输入信息开始执行游戏程序(S212)。具体地,在上述示例中,例如对应于顺序信息项目5及此后的输入信息项目以比普通输入速度更快的速度输入到第二执行单元514,直到变得可能使用当前输入信息开始执行游戏程序,从而使得第二执行单元514快进游戏程序。关于快进等的细节与上述相同,并且在此不说明。
然后,类似于第一实施例,在变得可能使用来自终端102的当前输入信息开始执行游戏程序之后,也就是说,在完成快进之后,第二执行控制单元515使得第二执行单元514以对应于第一速度的速度执行游戏程序(S213)。因此,第二发送单元516开始发送通过第二执行单元514的执行结果到终端102(S214)。然后,第二执行控制单元515发送通知第二服务器502中处理完成的完成通知到第一服务器501(S215)。响应于完成通知,第一发送单元506停止发送通过第一执行单元504的执行结果(S216)。在以上,同样可能安排以便停止通过第一执行单元504的游戏程序的执行以及通过输入信息保持单元的输入信息的保持。
第一执行控制单元505发送迁移完成通知到管理服务器103,通知响应于迁移指令在S203到S216完成第一服务器501和第二服务器502之间的迁移处理(S217)。响应于该迁移完成通知,管理服务器103的服务器管理单元511发送用于停止服务器的服务器停止指令到第一服务器501(S218)。响应于服务器停止指令,第一服务器501停止(S219)。
根据该实施例,在信息处理系统110中,在各个游戏服务器中实现多个执行游戏的单元,游戏的执行结果发送到各个终端102。在信息处理系统110中,当用户的数目减小并且各个服务器上的负荷因此降低时,通过实施服务器之间的迁移,可能避免具有低负荷的多个服务器保持激活,从而整体上增加信息处理系统110的效率,并且整体上避免信息处理系统110的成本的增加。此外,用户可以继续玩游戏而不知道服务器之间迁移的出现。
本发明不限于上述实施例,并且可能由与上述实施例中的结构和处理流程基本相同的结构和流程、那些产生相同效果的结构和流程、或者那些实现相同目的的结构和流程替代。例如,尽管以上已经描述了在服务器停止之前停止发送通过第一执行单元504的执行结果的结构,但是可能安排以便响应于服务器的停止,停止通过第一执行单元504执行游戏程序和发送执行的结果。
[第三实施例]
在以下,将描述本发明的第三实施例。在该实施例中,主要地,第一和第二服务器501、502的第一和第二迁移单元111、112的功能结构、文件服务器113的使用、以及第一输入信息和状态信息从终端102到文件服务器113的传送不同于第一和第二实施例。在以下,主要描述与第一和第二实施例的不同,并且类似点不再次描述。文件服务器113是例如提供到图1所示的云基础100的一个服务器,并且可以是虚拟服务器104或普通服务器。此外,类似于第一实施例,为了描述简洁,下面将描述在第一服务器501到第二服务器502的服务器处理的迁移中实施的信息处理系统110的功能结构和流程的示例作为示例。
参照图10A到10C和图11,下面将描述该实施例中信息处理系统110的功能结构和处理流程。图10A示出该实施例中第一服务器501的第一迁移单元111的功能结构,并且图10B示出该实施例中第二服务器502的第二迁移单元112的功能结构。图10C示出该实施例中文件服务器113的功能结构。图11说明该实施例中信息处理系统110的处理流程。
类似于第一实施例,基于来自负荷监视单元512的负荷信息,服务器管理单元511在第二服务器502中再现正在第一服务器501中实施的游戏实例,并且发送用于连续执行正在第一服务器501中执行的游戏程序的迁移指令到第一服务器501和第二服务器502(S301、S302)。
响应于来自管理服务器103的迁移指令,第一输入信息传送单元114开始传送由第一输入信息获得单元503从终端102顺序获得的输入信息项目到文件服务器113(S303)。具体地,例如,在第一输入信息获得单元503顺序获得分别包含顺序信息项目1、2、3、4、5等的输入信息项目,并且在接收顺序信息项目4和5之间接收迁移指令的情况下,第一输入信息传送单元114首先传送分别包含顺序信息项目5及此后的输入信息项目到文件服务器113。也就是说,在此情况下,第一输入信息传送单元114传送分别包含顺序信息项目5、6、7等的输入信息项目到文件服务器113。文件服务器113的输入信息保持单元119开始保持从第一服务器501顺序传送的输入信息项目(S304)。具体地,在上述示例中,顺序保持分别包含顺序信息项目5、6、7等的输入信息项目。
例如,在开始通过第一输入信息传送单元114传送输入信息时,第一服务器501的第一状态信息获得单元115获得描述通过第一执行单元504的执行状态的状态信息(S305)。具体地,在上述示例中,第一状态信息获得单元115获得当根据对应于顺序信息4的输入信息执行处理时可用的第一状态信息。然后,第一状态信息获得单元115与接下来要输入的顺序信息(上述示例中的顺序信息5)一起发送获得的状态信息到文件服务器113(S306)。文件服务器113的状态信息保持单元120与顺序信息一起保持状态信息(S307)。
响应于迁移指令,第一输入信息发送指令单元122发送用于同样发送输入信息到第二服务器502的输入信息发送指令到相应的终端102(S308)。已经接收输入信息发送指令,终端102开始发送输入信息到由服务器标识信息标识的服务器(在此情况下的第二服务器502)(S309)。具体地,在上述示例中,由于在接收输入信息发送指令之前一些时间段已经过去,所以终端102开始发送分别包含例如顺序信息项目8及此后(即,顺序信息项目8、9、10等)的输入信息项目。
第二服务器502的第二输入信息保持单元123响应于来自第一服务器501的输入信息发送指令,开始保持从终端102获得的输入信息(S310)。具体地,在上述示例中,顺序保持分别包含顺序信息项目8、9、10等的输入信息项目。第二服务器502的输入信息请求单元118请求文件服务器113发送状态信息(S311)。响应于状态信息请求,文件服务器113发送文件服务器113的状态信息保持单元120中保持的状态信息到第二服务器502(S312)。第二服务器502的状态信息保持单元117保持来自第二服务器502的状态信息(S313)。
第二服务器502的输入信息请求单元118指定要向文件服务器113请求的输入信息(S314),并且发送用于请求输入信息的请求指令到文件服务器113(S315)。具体地,在以上,第二服务器502的输入信息请求单元118比较例如与第二状态信息保持单元807中保持的状态信息相关保持的顺序信息与第二输入信息保持单元123中保持的顺序信息,从而指定未在第二服务器502中保持的顺序信息(即,缺少的输入信息),并且请求缺少的输入信息。具体地,在上述示例中,在顺序信息5与状态信息相关,并且第二输入信息保持单元123中保持的顺序信息项目是8、9、10等时,对应于顺序信息项目5、6、7的输入信息指定为要向文件服务器113请求的输入信息项目,并且用于请求那些输入信息项目的请求指令发送到文件服务器113。
响应于来自第二服务器502的输入信息请求指令,文件服务器131的输入信息发送单元121发送文件服务器113的输入信息保持单元119中保持的输入信息到第二服务器502(S316)。具体地,在上述示例中,从文件服务器113的输入信息保持单元获得分别包含顺序信息项目5、6、7的输入信息项目,并且发送到第二服务器502。
第二服务器502的第二输入信息保持单元123保持从第一服务器501发送的请求的输入信息(S317)。在以上的情况下,第二输入信息保持单元123可以保持来自包含与状态信息相关的顺序信息的输入信息项目的顺序信息项目到当前的输入信息项目,即,上述示例中分别包含顺序信息项目5、6、7等的输入信息项目。
第二服务器502的第二执行控制单元515获得第二状态信息保持单元807中保持的状态信息,并且使用该状态信息在第二执行单元514中再现第一执行单元504的执行状态(S318)。然后,第二执行控制单元515使得第二执行单元514使用第二输入信息保持单元123中保持的输入信息执行快进,直到变得可能使用从终端102发送的当前输入信息开始执行游戏程序(S319)。具体地,在上述示例中,例如分别对应于顺序信息项目5及此后的输入信息项目以比普通输入速度更快的速度输入到第二执行单元514,直到变得可能使用当前输入信息开始执行游戏程序,从而使得第二执行单元514快进游戏程序。关于快进等的细节与上述相同,并且在此不说明。
在变得可能使用来自终端102的当前输入信息开始执行游戏程序之后,也就是说,在完成快进之后,第二执行控制单元515使得第二执行单元514以对应于第一速度的速度执行游戏程序(S320)。第二发送单元516开始发送通过第二执行单元514的执行结果到终端102(S213)。第二执行控制单元515发送通知第二服务器502中处理完成的完成通知到第一服务器501(S215)。响应于完成通知,第一发送单元506停止发送通过第一执行单元504的执行结果(S323)。在以上,同样可能安排以便停止通过第一执行单元504的游戏程序的执行以及通过输入信息保持单元的输入信息的保持。
第一执行控制单元505发送迁移完成通知到管理服务器103,通知响应于迁移指令在S303到S323完成第一服务器501和第二服务器502之间的迁移处理(S324)。响应于该迁移完成通知,管理服务器103的服务器管理单元511发送用于停止服务器的服务器停止指令到第一服务器501(S325)。响应于服务器停止指令,第一服务器501停止(S326)。
根据该实施例,在信息处理系统110中,在各个游戏服务器中实现多个执行游戏的单元,游戏的执行结果发送到各个终端102。在信息处理系统110中,当用户的数目减小并且各个服务器上的负荷因此降低时,通过实施服务器之间的迁移,可能避免具有低负荷的多个服务器保持激活,从而整体上增加信息处理系统110的效率,并且整体上避免信息处理系统110的成本的增加。此外,用户可以继续玩游戏而不知道虚拟服务器104之间迁移的出现。
本发明不限于上述实施例,并且可能由与上述实施例中的结构和处理流程基本相同的结构和流程、那些产生相同效果的结构和流程、或者那些实现相同目的的结构和流程替代。例如,尽管以上已经描述了在服务器停止之前停止发送通过第一执行单元504的执行结果的结构,但是可能安排以便响应于服务器的停止,停止通过第一执行单元504执行和发送执行的结果。
[第四实施例]
在以下,将描述本发明的第四实施例。在该实施例中,主要地,与第三实施例的不同在于没有获得或保持状态信息,并且从游戏程序的执行开始的输入信息保持在文件服务器133中。具体地,主要地,第一和第二迁移单元131、132的功能结构和文件服务器133的功能结构不同于第三实施例中的那些。在以下,主要描述与第一到第三实施例的不同,并且类似点不再次描述。此外,类似于第一实施例,为了描述简洁,下面将描述在第一服务器501到第二服务器502的服务器处理的迁移中实施的信息处理系统110的功能结构和流程的示例作为示例。
参照图12A到12C和图13,下面将描述该实施例中信息处理系统110的功能结构和处理流程。图12A示出该实施例中第一服务器501的第一迁移单元131的功能结构,并且图12B示出该实施例中第二服务器502的第二迁移单元132的功能结构。图12C示出该实施例中文件服务器133的功能结构。图13说明该实施例中信息处理系统110的处理流程。在该实施例中,如图12A所示,第一服务器501具有输入信息传送单元134,用于从游戏程序开始执行起,将从终端102顺序获得的输入信息项目顺序传送到文件服务器133的输入信息保持单元137。因此,文件服务器133的输入信息保持单元137从游戏程序开始起保持输入信息项目,也就是说,分别包含例如顺序信息项目0、1、2等的顺序信息项目(在顺序信息从0开始的情况下)。
类似于第一实施例,基于来自负荷监视单元512的负荷信息,服务器管理单元511在第二服务器502中再现正在第一服务器501中实施的游戏实例,并且发送用于在第二服务器502中连续执行正在执行的游戏程序的迁移指令到第一服务器501和第二服务器502(S401、S402)。
响应于迁移指令,第一输入信息发送指令单元139发送输入信息发送指令到相应的终端102,用于同样发送输入信息到第二服务器502(S403)。已经获得输入信息发送指令,终端102开始发送输入信息到由服务器标识信息标识的服务器(在此情况下的第二服务器502)(S404)。具体地,在上述示例中,由于在接收输入信息发送指令之前已经过去一定时间段,终端102开始发送分别包含例如顺序信息项目8及其后(及,顺序信息项目8、9、10等)的输入信息项目。第二输入信息保持单元137根据来自第一服务器501的输入信息发送指令,开始保持从终端102获得的输入信息(S405)。具体地,在上述示例中,顺序获得分别包含顺序信息项目8、9、10等的输入信息项目。
第二服务器502的输入信息请求单元136指定要向文件服务器133请求的输入信息(S406),并且发送用于请求输入信息的请求指令到文件服务器133(S407)。在以上,第二服务器502的输入信息请求单元136例如第二输入信息保持单元135中保持的顺序信息项目中缺少的输入信息项目,并且请求缺少的输入信息项目。具体地,在上述示例中,在第二输入信息保持单元135中保持的顺序信息项目是8、9、10等时,分别包含顺序信息项目7及其之前顺序信息项目的输入信息项目(即,分别包含顺序信息项目0到7的输入信息项目)指定为要向文件服务器133请求的输入信息项目,并且用于请求那些输入信息项目的请求指令发送到文件服务器133。
基于来自第二服务器502的输入信息请求指令,文件服务器133的输入信息发送单元138发送文件服务器133的输入信息保持单元137中保持的输入信息到第二服务器502(S408)。具体地,在上述示例中,从文件服务器133的输入信息保持单元137获得分别包含顺序信息项目0到7的输入信息项目,并且发送到第二服务器502。
第二服务器502的第二输入信息保持单元135保持从第一服务器501发送的请求的输入信息(S409)。在以上的情况下,第二输入信息保持单元517保持来自从包含游戏程序开始处的顺序信息项目的输入信息项目到当前输入信息项目的输入信息项目,即在上述示例中的顺序信息项目0、1、2等。
第二执行控制单元515使得第二执行单元514使用第二输入信息保持单元135中保持的输入信息执行快进,直到变得可能使用来自终端102的当前输入信息开始执行游戏程序(S410)。具体地,在上述示例中,分别包含游戏程序执行开始处的顺序信息项目(顺序信息0)以及其后的顺序信息项目的输入信息项目,以比普通输入速度更快的速度输入到第二执行单元514,直到变得可能使用当前输入信息开始执行游戏程序,从而使得第二执行单元514快进游戏程序。尽管不同于第一到第三实施例,在该实施例中未使用状态信息,但是由于从游戏程序的开始处的输入信息项目到当前输入信息项目的输入信息项目全部保持,所以可能在第二执行单元514中通过快进再现由第一执行单元504的执行状态。
在变得可能使用来自终端102的当前输入信息开始执行游戏程序之后,也就是说,在快进终止之后,第二执行控制单元515使得第二执行单元514以对应于第一速度的速度执行游戏程序(S411)。第二发送单元516开始发送通过第二执行单元514的执行结果到终端102(S412)。
第二执行控制单元515发送通知第二服务器502中处理完成的完成通知到第一服务器501(S418)。响应于完成通知,第一发送单元506停止发送通过第一执行单元504的执行结果(S414)。在以上,同样可能安排以便停止通过第一执行单元504的游戏程序的执行以及通过第一输入信息保持单元137的输入信息的保持。
第一执行控制单元505发送迁移完成通知到管理服务器103,通知响应于迁移指令在S403到S414完成第一服务器501和第二服务器502之间的迁移处理(S415)。响应于该迁移完成通知,管理服务器103的服务器管理单元511发送用于停止服务器的服务器停止指令到第一服务器501(S416)。响应于服务器停止指令,第一服务器501停止(S417)。
根据该实施例,在信息处理系统110中,在各个游戏服务器中实现多个执行游戏的单元,游戏的执行结果发送到各个终端102。在信息处理系统110中,当用户的数目减小并且各个服务器上的负荷因此降低时,通过实施服务器之间的迁移,可能避免具有低负荷的多个服务器保持激活,从而整体上增加信息处理系统110的效率,并且整体上避免信息处理系统110的成本的增加。此外,用户可以继续玩游戏而不知道服务器之间迁移的出现。
本发明不限于第一到第四实施例,并且可能由与上述实施例中的结构和处理流程基本相同的结构和流程、那些产生相同效果的结构和流程、或者那些实现相同目的的结构和流程替代。例如,尽管以上已经描述了在服务器停止之前停止发送通过第一执行单元504的执行结果的结构,但是可能安排以便响应于服务器的停止,停止通过第一执行单元504执行游戏程序和发送执行的结果。第一服务器501和第二服务器502中执行的游戏程序可以是游戏程序的一部分(迷你游戏),即预定阶段或针对预定对手角色的比赛。在此情况下,例如,执行单元在迷你游戏开始时,可以使用执行单元504上预选存储的状态信息执行游戏程序,从而开始迷你游戏。对于迷你游戏的结束,例如,可以识别通过游戏程序的执行顺序生成的一部分图像信息项目的图像(例如,“进球”、“胜利”等的文字),以便由此确定模拟游戏的结束。尽管在以上描述使用所谓虚拟服务器的情况,但是本发明可以应用于普通服务器-客户端系统。此外,尽管在以上已经主要描述在第一服务器501到第二服务器502的服务器处理的迁移中实施的信息处理系统110的功能结构和处理流程,但是可能如此安排使得服务器502的服务器处理迁移到第一服务器501或者服务器处理可以双向迁移。迁移不限于第一服务器501和第二服务器502之间的一个,并且可以是第一或第二服务器501、502和另一虚拟服务器104之间、其它虚拟服务器104之间、或虚拟服务器104和普通服务器之间的一个。尽管在以上用户不知道迁移的出现,但是可以安排使得通知用户出现迁移。尽管在以上第一服务器501和第二服务器502从终端102获得输入信息,执行游戏程序,并且压缩和发送生成的运动画面信息,但是可以安排使得与第一服务器501或第二服务器502的任一不同的服务器可以获得输入信息,并且压缩运动画面等。

Claims (9)

1.一种信息处理系统,包括:
第一服务器,包含
第一执行单元,配置为使用顺序获得的输入信息项目,以第一速度执行应用,以及
第一发送单元,配置为发送应用的执行结果到终端,以及
第二服务器,包含
再现数据获得单元,配置为获得包含顺序获得的输入信息项目的再现数据,用于再现第一执行单元的状态,
输入信息获得单元,配置为获得响应于到第二服务器的输入信息发送指令,从终端顺序发送的输入信息项目,
第二执行单元,配置为执行应用,以及
第二发送单元,配置为发送通过第二执行单元的应用的执行结果到终端,
其中,第二执行单元至少使用顺序获得并且包含在再现数据中的输入信息项目,以比第一速度更快的第二速度执行应用,以便在第二执行单元中再现第一执行单元的状态,
其中,在再现第一执行单元的状态之后,第二执行单元使用由第二服务器顺序获得的输入信息项目,以对应于第一速度的速度执行应用,并且
其中,在第二执行单元开始发送应用的执行结果到终端之后,第一服务器停止发送应用的执行结果到终端。
2.如权利要求1所述的信息处理系统,其中
再现数据包括指示第一执行状态的执行状态信息,并且
在第二执行单元中,第二执行单元进一步使用执行状态信息再现第一执行单元的状态。
3.如权利要求1所述的信息处理系统,其中再现数据获得单元从第一服务器获得再现数据。
4.如权利要求1所述的信息处理系统,其中再现数据获得单元从不同于第一服务器或第二服务器的第三服务器获得一部分再现数据。
5.如权利要求1所述的信息处理系统,其中第二执行单元至少使用顺序获得并且包含在再现数据中的输入信息项目,以比第一速度更快的第二速度执行应用,直到由第二执行单元使用来自终端的当前输入信息执行应用变得可能,以便在第二执行单元中再现第一执行单元的状态。
6.如权利要求5所述的信息处理系统,其中在执行变得可能之后,第二执行单元使用由包括在第二服务器中的输入信息获得单元顺序获得的输入信息项目,以对应于第一速度的速度执行应用。
7.一种信息处理方法,包括:
由包括在第一服务器中的第一执行单元使用顺序获得的输入信息项目,以第一速度开始执行应用;
由第一服务器开始发送应用的执行结果到终端;
由第二服务器获得包含顺序获得的输入信息项目的再现数据,以便再现第一执行单元的状态;
由第二服务器开始获得响应于到第二服务器的输入信息发送指令,从终端顺序发送的输入信息项目;
由第二服务器中包含的第二执行单元至少使用顺序获得并且包含在再现数据中的输入信息项目,以比第一速度更快的第二速度执行应用,以便在第二执行单元中再现第一执行单元的状态;
在再现第一执行单元的状态之后,由第二执行单元使用由第二服务器顺序获得的输入信息项目,以对应于第一速度的速度开始执行应用;
由第二服务器开始发送第二执行单元的应用的执行结果到终端;并且
在开始发送第二执行单元的应用的执行结果到终端之后,由第一服务器停止发送应用的执行结果到终端。
8.一种第一服务器,包括:
第一执行单元,配置为使用顺序获得的输入信息项目,以第一速度执行应用;以及
第一发送单元,配置为发送应用的执行结果到终端,
其中
在第二服务器中,包括;
再现数据获得单元,配置为获得包含顺序获得的输入信息项目的再现数据,用于再现第一执行单元的状态,
输入信息获得单元,配置为获得响应于到第二服务器的输入信息发送指令,从终端顺序发送的输入信息项目,
第二执行单元,配置为执行应用,以及
第二发送单元,配置为发送通过第二执行单元的应用的执行结果到终端,
第二执行单元至少使用顺序获得并且包含在再现数据中的输入信息项目,以比第一速度更快的第二速度执行应用,以便在第二执行单元中再现第一执行单元的状态,并且在再现第一执行单元的状态之后,第二执行单元使用由第二服务器顺序获得的输入信息项目,以对应于第一速度的速度执行应用,并且
在第二执行单元开始发送应用的执行结果到终端之后,第一服务器停止发送应用的执行结果到终端。
9.一种第二服务器,包括:
再现数据获得单元,配置为获得包含顺序获得的输入信息项目的再现数据,用于再现第一服务器的第一执行单元的状态,其中第一服务器包含配置为使用顺序获得的输入信息项目,以第一速度执行应用的第一执行单元,以及配置为发送应用的执行结果到终端的第一发送单元;
输入信息获得单元,配置为获得响应于到第二服务器的输入信息发送指令,从终端顺序发送的输入信息项目;
第二执行单元,配置为执行应用;以及
第二发送单元,配置为发送通过第二执行单元的应用的执行结果到终端,
其中,第二执行单元至少使用顺序获得并且包含在再现数据中的输入信息项目,以比第一速度更快的第二速度执行应用,以便在第二执行单元中再现第一执行单元的状态,
其中,在再现第一执行单元的状态之后,第二执行单元使用由第二服务器顺序获得的输入信息项目,以对应于第一速度的速度执行应用,并且
其中,在第二执行单元开始发送应用的执行结果到终端之后,第一服务器停止发送应用的执行结果到终端。
CN201210505783.XA 2011-12-01 2012-11-30 信息处理系统、信息处理服务器和信息处理方法 Active CN103139198B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011-263650 2011-12-01
JP2011263650A JP2013117757A (ja) 2011-12-01 2011-12-01 情報処理システム、情報処理サーバ、情報処理方法、情報処理プログラム、情報処理プログラムを記憶したコンピュータ読み取り可能な記録媒体

Publications (2)

Publication Number Publication Date
CN103139198A CN103139198A (zh) 2013-06-05
CN103139198B true CN103139198B (zh) 2016-01-13

Family

ID=48498504

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210505783.XA Active CN103139198B (zh) 2011-12-01 2012-11-30 信息处理系统、信息处理服务器和信息处理方法

Country Status (3)

Country Link
US (1) US8972479B2 (zh)
JP (1) JP2013117757A (zh)
CN (1) CN103139198B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6731407B2 (ja) * 2015-06-29 2020-07-29 株式会社Nttドコモ 制御方法及び制御装置
US10967259B1 (en) * 2018-05-16 2021-04-06 Amazon Technologies, Inc. Asynchronous event management for hosted sessions

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1620028A (zh) * 2003-11-20 2005-05-25 夏普株式会社 信息处理装置及方法、信息处理系统、控制程序
CN101656955A (zh) * 2008-08-20 2010-02-24 飞力凯网路股份有限公司 信息处理设备、方法、程序和系统
CN102130901A (zh) * 2010-01-13 2011-07-20 索尼公司 信息处理设备及其方法、信息处理系统及其方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6832260B2 (en) * 2001-07-26 2004-12-14 International Business Machines Corporation Methods, systems and computer program products for kernel based transaction processing
KR20080080657A (ko) * 2005-12-22 2008-09-04 피케이알 리미티드 온라인 게이밍에 관한 개선
US8214505B2 (en) * 2009-06-22 2012-07-03 Citrix Systems, Inc. Systems and methods of handling non-HTTP client or server push on HTTP Vserver

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1620028A (zh) * 2003-11-20 2005-05-25 夏普株式会社 信息处理装置及方法、信息处理系统、控制程序
CN101656955A (zh) * 2008-08-20 2010-02-24 飞力凯网路股份有限公司 信息处理设备、方法、程序和系统
CN102130901A (zh) * 2010-01-13 2011-07-20 索尼公司 信息处理设备及其方法、信息处理系统及其方法

Also Published As

Publication number Publication date
US20130144929A1 (en) 2013-06-06
CN103139198A (zh) 2013-06-05
US8972479B2 (en) 2015-03-03
JP2013117757A (ja) 2013-06-13

Similar Documents

Publication Publication Date Title
CN1695134B (zh) 动态带宽控制
CN110559651A (zh) 云游戏的控制方法及装置、计算机存储介质、电子设备
CN109885367B (zh) 互动聊天实现方法、装置、终端和存储介质
CN103889524B (zh) 信息处理系统、信息处理方法、信息处理程序、存储信息处理程序的计算机可读记录介质、数据结构、信息处理服务器和信息处理终端
CN111443848B (zh) 信息的显示方法和装置、存储介质及电子装置
US9868061B2 (en) Information processing system, information processing method, information processing program, computer-readable recording medium on which information processing program is recorded, and information processing device
US11478700B2 (en) Asynchronous event management for hosted sessions
WO2022048677A1 (zh) 基于云手机的vr应用设计方法及系统
CN103328057B (zh) 信息处理系统以及信息处理方法
EP2746955B1 (en) Information processing system
CN103139198B (zh) 信息处理系统、信息处理服务器和信息处理方法
CN111672132A (zh) 游戏的控制方法、控制装置、服务器和存储介质
CN114432692A (zh) 一种云游戏的vr控制方法及装置
CN106648142B (zh) 基于云计算的输入输出控制方法及装置
CN114885199B (zh) 实时互动方法、装置、电子设备、存储介质及系统
CN202042069U (zh) 多角色空间模拟系统和太空飞船模拟系统
CN108635862B (zh) 一种操作控制方法、装置及存储介质
US10668384B2 (en) System using rule based techniques for handling gameplay restrictions
JP2012120784A (ja) 情報処理システム、情報処理方法、情報処理プログラム、情報処理プログラムを記憶したコンピュータ読み取り可能な記録媒体
CN111589118A (zh) 用户界面的显示方法、装置、设备及存储介质
CN117032939B (zh) 一种云业务的控制方法、相关装置、设备以及存储介质
US20240131425A1 (en) Scalable data center platform for cloud gaming and metaverse
CN113457141A (zh) 资源处理方法和装置、存储介质及电子设备
CN113926200A (zh) 一种任务完成方法和相关装置
CN116271830A (zh) 虚拟游戏对象的行为控制方法、装置、设备以及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant