[go: up one dir, main page]

JP5411381B1 - サーバ検査システム、サーバ検査装置およびサーバ検査プログラム - Google Patents

サーバ検査システム、サーバ検査装置およびサーバ検査プログラム Download PDF

Info

Publication number
JP5411381B1
JP5411381B1 JP2013117004A JP2013117004A JP5411381B1 JP 5411381 B1 JP5411381 B1 JP 5411381B1 JP 2013117004 A JP2013117004 A JP 2013117004A JP 2013117004 A JP2013117004 A JP 2013117004A JP 5411381 B1 JP5411381 B1 JP 5411381B1
Authority
JP
Japan
Prior art keywords
server
inspection
request
terminal device
processing
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.)
Expired - Fee Related
Application number
JP2013117004A
Other languages
English (en)
Other versions
JP2014235588A (ja
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 株式会社 ディー・エヌ・エー
Priority to JP2013117004A priority Critical patent/JP5411381B1/ja
Priority to US14/157,591 priority patent/US8990296B2/en
Application granted granted Critical
Publication of JP5411381B1 publication Critical patent/JP5411381B1/ja
Publication of JP2014235588A publication Critical patent/JP2014235588A/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/73Authorising game programs or game devices, e.g. checking authenticity
    • 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/75Enforcing rules, e.g. detecting foul play or generating lists of cheating players
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24554Unary operations; Data partitioning operations
    • G06F16/24556Aggregation; Duplicate elimination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/087Inventory or stock management, e.g. order filling, procurement or balancing against orders

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Debugging And Monitoring (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】端末装置からサーバへの要求が同時あるいは短時間に複数回なされることに起因してサーバにおける処理が重複して行われることを有効に検査する。
【解決手段】端末装置からの要求に応じて所定の処理を実行するサーバにおける重複処理の検査を行うシステムであって、検査開始時に、前記端末装置から前記サーバに対して送信される要求を受信する受信手段と、当該要求をコピーすることで所定数の要求とし、当該所定数の要求を前記サーバに一括して送信する送信手段と、前記所定数の要求による前記サーバの処理結果を取得して重複処理の有無を確認する確認手段とを備える。
【選択図】図5

Description

本発明は、ソーシャルゲーム等のサーバ機能の不具合を検査する技術に関する。
インターネットを介したウェブサービス等において、端末装置(ユーザ端末)からサーバへの要求(リクエスト)が同時あるいは短時間に複数回なされることで、サーバにおける処理が重複して行われる場合がある。例えば、ソーシャルゲームにおいて、ユーザ(プレイヤ)がほぼ同時にアイテム付与要求をサーバに送ることで、ソーシャルゲーム管理サーバにおいてアイテム付与の処理が二重に行われ、本来なら1つしか与えられないはずのアイテムが2つユーザに付与される場合がある。
図1はソーシャルゲームにおけるアイテム付与処理の例を示すシーケンス図である。
図1において、端末装置1からソーシャルゲーム管理サーバ4に対してアイテム付与要求を送信すると(ステップS01)、ソーシャルゲーム管理サーバ4はデータベース(DB)によりアイテム付与条件が満たされているか否か確認し(ステップS02)、確認できた場合(ステップS03)、アイテム付与処理を行ない(ステップS04、S05)、端末装置1に対してアイテム付与を行う(ステップS06)。
これとほぼ同時に、端末装置1からソーシャルゲーム管理サーバ4に対してアイテム付与要求を送信すると(ステップS07)、ソーシャルゲーム管理サーバ4はデータベースによりアイテム付与条件が満たされているか否か確認するが(ステップS08)、この時点では直前に行われたアイテム付与要求に対するアイテム付与処理(ステップS04、S05)がまだ行われていないため、アイテム付与条件が満たされていると判断する(ステップS09)。そのため、アイテム付与処理を行ない(ステップS10、S11)、端末装置1に対して2つめのアイテム付与を行ってしまう(ステップS12)。
このような不都合は、ゲーム事業者にとって不利益となるとともに、ゲーム内におけるアイテムの需要と供給のバランスが崩れる可能性があり、好ましくない。そのため、サービスリリース前において、そのような不具合を発見し、解消する必要がある。
特許第3896486号公報
上述したようなアイテムが重複して付与される現象について検査(チェック)する方法として、複数の端末装置を用意し、各々の端末装置から同時にアイテム付与要求をソーシャルゲーム管理サーバに送信し、アイテムの付与状況を確認することが考えられる。
しかし、このような方法では、各端末装置におけるアイテム付与要求の送信タイミングの相違や通信速度の影響等によって、アイテムの重複付与が行われ得る条件になっている可能性が低く、検査方法としての信頼性が低いという問題があった。
一方、特許文献1には、ウェブサイトの脆弱性を分析するための、ウェブサイトの検査装置が記載されている。
しかしながら、この特許文献1に記載される検査装置は、個人情報の漏洩等のセキュリティの観点からの脆弱性を検査するものであって、上述したような、端末装置からサーバへの要求が同時あるいは短時間に複数回なされることに起因してサーバにおける処理が重複して行われることの検査に適用することはできない。
本発明は上記の従来の問題点に鑑み提案されたものであり、その目的とするところは、端末装置からサーバへの要求が同時あるいは短時間に複数回なされることに起因してサーバにおける処理が重複して行われることを有効に検査することにある。
上記の課題を解決するため、本発明にあっては、端末装置からの要求に応じて所定の処理を実行するサーバにおける重複処理の検査を行うシステムであって、検査開始時に、前記端末装置から前記サーバに対して送信される要求を受信する受信手段と、当該要求をコピーすることで所定数の要求とし、当該所定数の要求を前記サーバに一括して送信する送信手段と、前記所定数の要求による前記サーバの処理結果を取得して重複処理の有無を確認する確認手段とを備えるようにしている。
本発明にあっては、端末装置からサーバへの要求が同時あるいは短時間に複数回なされることに起因してサーバにおける処理が重複して行われることを有効に検査することができる。
ソーシャルゲームにおけるアイテム付与処理の例を示すシーケンス図である。 本発明の一実施形態にかかるシステムの構成例を示す図である。 スマートフォンを想定した端末装置のハードウェア構成例を示す図である。 PCを想定した端末装置およびソーシャルゲーム管理サーバのハードウェア構成例を示す図である。 端末装置、ソーシャルゲーム管理サーバおよび検査装置の機能構成例を示す図である。 プレイヤ情報のデータ構造例を示す図である。 実施形態の処理例を示すシーケンス図である。 操作画面の例を示す図(その1)である。 ゲーム画面の例を示す図である。 操作画面の例を示す図(その2)である。
以下、本発明の好適な実施形態につき説明する。
<構成>
図2は本発明の一実施形態にかかるシステムの構成例を示す図である。
図2において、システムは、検査を行うオペレータが操作するスマートフォン、携帯電話、PC(Personal Computer)等の端末装置1(1A〜1C)と、移動無線基地局やWi−Fiステーション等のアクセスポイント2と、インターネット等のネットワーク3と、複数のプレイヤがネットワークを介してゲームプレイを行うゲームの管理(制御)を行うソーシャルゲーム管理サーバ4と、ソーシャルゲーム管理サーバ4の検査を行う検査装置5とを備えている。なお、ソーシャルゲーム管理サーバ4の本番運用後には、端末装置1は一般のプレイヤ(ユーザ)により操作されることになる。
また、端末装置1Aによりソーシャルゲーム管理サーバ4によるゲームを行ない、その過程で端末装置1Bもしくは端末装置1Cにより検査装置5を操作して検査処理を行うことを想定している。この場合、端末装置1Aはプロキシ設定のアドレスを検査装置5のアドレスとすることで、端末装置1Aとソーシャルゲーム管理サーバ4の間で送受信するデータは検査装置5を通過する。検査装置5の物理的な配置はネットワーク上であればどこでもよく、端末装置1のいずれかに設けてもよいし、ソーシャルゲーム管理サーバ4内に設けてもよい。
図3はスマートフォンを想定した端末装置1A、1Bのハードウェア構成例を示す図である。
図3において、端末装置1A、1Bは、電源システム101と、プロセッサ103、メモリコントローラ104、周辺インタフェース105を含むメインシステム102と、記憶部106と、外部ポート107と、高周波回路108と、アンテナ109と、オーディオ回路110と、スピーカ111と、マイク112と、近接センサ113と、GPS(Global Positioning System)回路114と、ディスプレイコントローラ116、光学センサコントローラ117、入力コントローラ118を含むI/O(Input/Output)サブシステム115と、タッチ反応型ディスプレイシステム119と、光学センサ120と、入力部121とを備えている。
図4はPCを想定した端末装置1Cおよびソーシャルゲーム管理サーバ4のハードウェア構成例を示す図である。
図4において、端末装置1Cおよびソーシャルゲーム管理サーバ4は、システムバス1001に接続されたCPU(Central Processing Unit)1002、ROM(Read Only Memory)1003、RAM(Random Access Memory)1004、NVRAM(Non-Volatile Random Access Memory)1005、I/F(Interface)1006と、I/F1006に接続された、キーボード、マウス、モニタ、CD/DVD(Compact Disk/Digital Versatile Disk)ドライブ等のI/O(Input/Output Device)1007、HDD(Hard Disk Drive)1008、NIC(Network Interface Card)1009、モニタ1010、キーボード1011、マウス1012等を備えている。
図5は端末装置1、ソーシャルゲーム管理サーバ4および検査装置5の機能構成例を示す図である。
図5において、端末装置1Aは、プレイヤ操作入力部11とゲームロジック実行部12とサーバアクセス部13と画面表示部14とを備えている。
プレイヤ操作入力部11は、端末装置1を操作するプレイヤ(オペレータ)からの操作を入力(受付)する機能を有している。
ゲームロジック実行部12は、プレイヤ操作入力部11により入力されたプレイヤの操作に応じ、画面遷移を行ってゲームを進行する機能を有している。ゲームロジック実行部12は、ソーシャルゲーム管理サーバ4からHTML(Hyper Text Markup Language)等で記載されたページデータおよびページデータ内に含まれるスクリプト等に基づいてゲームロジックを実行する場合(ブラウザ型)と、予め端末装置1Aにダウンロードされてインストールされたアプリケーションに基づいてゲームロジックを実行する場合(アプリ型)とがある。
サーバアクセス部13は、ゲームロジック実行部12の処理の過程でソーシャルゲーム管理サーバ4へのアクセスが必要になった場合に、ソーシャルゲーム管理サーバ4に対してリクエスト(要求)を送信し、処理結果等をレスポンス(応答)として受信する機能を有している。ここで、リクエストとしては、更新系と参照系とがある。更新系のリクエストは、プレイヤ情報等の更新を伴うものである。参照系のリクエストは、プレイヤ情報等を参照するものである。
画面表示部14は、ゲームロジック実行部12の制御のもと、ゲーム進行の画面表示を行う機能を有している。
ソーシャルゲーム管理サーバ4は、リクエスト処理部41とプレイヤ情報管理部42とプレイヤ情報データベース43とを備えている。リクエスト処理部41には、操作受付部411とゲーム進行制御部412とアイテム付与部413とが含まれている。
リクエスト処理部41は、端末装置1Aからのリクエストを受信して対応する処理を行い、リクエストの処理結果をレスポンスとして端末装置1Aに送信する機能を有している。更新系のリクエストであればプレイヤ情報等の更新を伴う処理を行ない、処理により変更されたプレイヤ情報等を処理結果とする。参照系のリクエストであれば該当するプレイヤ情報等を参照し、取得したプレイヤ情報等の値を処理結果とする。また、レスポンスには、ブラウザ型の場合、次にプレイヤが操作対象とすることのできる画面情報が含まれる。
操作受付部411は、主にブラウザ型の場合に使用される機能部であり、端末装置1Aから所定の操作入力を受け付ける機能を有している。アプリ型の場合は操作受付部411に相当する機能は端末装置1Aのゲームロジック実行部12が担う。
ゲーム進行制御部412は、主にブラウザ型の場合に使用される機能部であり、ゲーム進行を制御する機能を有している。アプリ型の場合はゲーム進行制御部412に相当する機能は端末装置1Aのゲームロジック実行部12が担う。
アイテム付与部413は、ゲーム進行の過程で端末装置1Aのプレイヤがアイテムを取得可能な状態となった場合(例えば、友達プレイヤからアイテムがプレゼントされた場合等)に、端末装置1Aからのアイテム付与のリクエストに応じて端末装置1Aのプレイヤにアイテムを付与する機能を有している。アイテムの付与は、プレイヤ情報管理部42によりプレイヤ情報データベース43の該当するプレイヤ情報にアイテムの付与を記録するとともに、端末装置1Aにアイテム付与のデータを送信することで行われる。
プレイヤ情報管理部42は、ゲームに参加している全プレイヤの各種の情報(プレイヤ情報)をプレイヤ情報データベース43に保持して管理する機能を有しており、リクエスト処理部41からの要求に応じてプレイヤ情報の参照もしくは更新を行う。
検査装置5は、プロキシ部51と検査条件設定受付部52と検査開始受付部53と検査開始判断部54と検査実行部55と検査結果出力部56とを備えている。検査実行部55は、プロキシ機能抑制部551とリクエスト待機部552とリクエストコピー部553とリクエスト一括送信部554とアイテム増加数確認部555と診断部556と検査結果記録部557とを備えている。
プロキシ部51は、端末装置1Aに対してソーシャルゲーム管理サーバ4へのアクセスについてプロキシ機能を提供する機能を有している。すなわち、端末装置1Aからソーシャルゲーム管理サーバ4にリクエストを送信する際に、いったん検査装置5がリクエストを受信し、検査装置5からソーシャルゲーム管理サーバ4にリクエストを送信(転送)する。ソーシャルゲーム管理サーバ4からのレスポンスについても、いったん検査装置5が受信し、端末装置1Aに送信(転送)する。
検査条件設定受付部52は、検査装置5のコンソールとして機能する端末装置1B(1C)からの操作に応じ、検査条件の設定を受け付ける機能を有している。検査条件としては、リクエスト数と検査回数と検査間隔とがある。リクエスト数は、端末装置1Aから到来したリクエストを何個のリクエストにするかという数である。例えば、リクエスト数=10とした場合、9個のコピーを作成して10個のリクエストを作成する。検査回数は、リクエスト数分のリクエストを一括に送信するのを1単位として、何単位の一括送信を行うのかを示す数である。重複処理の有無はこの検査回数毎に確認する。検査間隔は、検査回数だけ一括送信を繰り返す時間間隔を示す値である。検査条件にはデフォルト値を設定しておくことで、積極的な設定が行われない場合にはデフォルト値を検査条件とすることができる。
検査開始受付部53は、検査装置5のコンソールとして機能する端末装置1B(1C)からの操作に応じ、検査開始の指示を受け付ける機能を有している。
検査開始判断部54は、検査開始の指示によらず、予め設定した条件に該当した場合に検査開始を自動的に判断する機能を有している。検査開始判断部54はソーシャルゲーム管理サーバ4から端末装置1Aに送信するデータを監視し、例えば、アイテムの付与が可能になる所定のページが出現した場合や、アイテムの付与を告げる所定のメッセージがページ内に含まれる場合や、アイテムの付与を示す所定のデータが出現した場合に検査開始と判断する。
検査実行部55は、検査開始の指示を受けた後に、検査を実行する機能を有している。
プロキシ機能抑制部551は、検査開始後にプロキシ部51によるプロキシ機能の一部を抑制し、検査完了後に抑制を解除する機能を有している。すなわち、通常のプロキシ機能では端末装置1Aから送信されてきたリクエストを即座にソーシャルゲーム管理サーバ4に送信するが、検査開始後には、端末装置1Aからのリクエストを受信するだけで、所定数にコピーされて一括送信するまで保持する。また、通常のプロキシ機能ではソーシャルゲーム管理サーバ4から送信されてきたレスポンスを即座に端末装置1Aに送信するが、検査開始後には、ソーシャルゲーム管理サーバ4からのレスポンスのうち本来のリクエストに対するもの以外(コピーにより増やしたリクエストに対するレスポンス)は遮断する。
リクエスト待機部552は、検査開始後に、端末装置1Aからのリクエストの受信待ちを行い、リクエストが到来した場合にそれを受信する機能を有している。
リクエストコピー部553は、リクエスト待機部552が受信した端末装置1Aからのリクエストをコピーして、検査条件のリクエスト数および検査回数を満たすリクエストを作成する機能を有している。
リクエスト一括送信部554は、リクエストコピー部553により数が増やされたリクエストを検査回数の1回分ずつソーシャルゲーム管理サーバ4に向けて一括送信する機能を有している。
アイテム増加数確認部555は、検査回数の1回分ずつの複数のリクエストにより、ソーシャルゲーム管理サーバ4における当該プレイヤのアイテム数の増加数を確認し、重複処理の有無を確認する機能を有している。本来、リクエストにより1個のアイテムが付与される場合に、2個以上のアイテムが付与された場合には重複処理が行われたと判断する。本来、2個以上のアイテムが付与される場合に、それを超えるアイテムが付与された場合には重複処理が行われたと判断する。
アイテム数の増加数の確認手法として、具体的には、ソーシャルゲーム管理サーバ4のレスポンスとしてのページデータやその他のデータにアイテム数の情報(数値による場合だけでなく、「アイテムが付与されました」といった文言を含む。)が含まれている場合には、それらのデータから当該プレイヤのアイテム数の増加数を確認することができる。リクエストを行った前後のページデータやその他のデータの差分からアイテム数の情報を得てもよい。リクエストに対するレスポンスがエラーを示すものである場合、そのレスポンスの限りにおいては重複処理が行われなかったと判断することができる。
また、ソーシャルゲーム管理サーバ4のレスポンスにアイテム数の情報が含まれていない場合には、ソーシャルゲーム管理サーバ4にアクセスして当該プレイヤのアイテム数の取得を行う。例えば、当該プレイヤの所有アイテム一覧のページ等にアクセスして、アイテム数の取得を行うことができる。この場合、予め、アクセス先のアドレス等を検査装置5に設定しておく。また、検査装置5が独自にソーシャルゲーム管理サーバ4にアクセスするために、予めプレイヤIDやパスワード等の情報の設定を必要とする場合もある。
診断部556は、アイテム増加数確認部555による重複処理の確認結果および検査条件等に基づき、ソーシャルゲーム管理サーバ4の診断を行う機能を有している。診断は、予め重複処理の確認結果および検査条件等と診断結果とをテーブル等において対応付けておき、得られた重複処理の確認結果および検査条件等から診断結果を取得することにより実現することができる。
検査結果記録部557は、検査回数の1回分毎の重複処理の有無や、実際に送信されたリクエストおよびレスポンスのログや、診断部556による診断結果等を内部的に記録する機能を有している。
検査結果出力部56は、検査装置5のコンソールとして機能する端末装置1B(1C)からの操作に応じ、検査結果を端末装置1B(1C)に送信(出力)する機能を有している。
端末装置1B(1C)は、ブラウザ15の機能により実現される検査条件設定部151と検査開始指示部152と検査結果取得・表示部153とを備えている。
検査条件設定部151は、オペレータの操作に基づき、検査装置5に対して検査条件を設定する機能を有している。
検査開始指示部152は、オペレータの操作に基づき、検査装置5に対して検査開始を指示する機能を有している。
検査結果取得・表示部153は、オペレータの操作に基づき、検査装置5から検査結果を取得して表示する機能を有している。
なお、端末装置1B(1C)における主要な機能をブラウザ15により実現する場合について説明したが、検査装置5の制御のための専用のアプリケーションとしてもよい。
また、ゲームを進行するために端末装置1Aを用いる場合について説明したが、PC等の端末装置1Cにおいてスマートフォン等のゲーム画面をエミュレートし、端末装置1Aを省略することもできる。
図6はプレイヤ情報データベース43(図5)に保持されるプレイヤ情報のデータ構造例を示す図であり、「プレイヤID」「アイコン情報」「プレイヤ名」「レベル」「ステータス」「アイテム付与条件」「アイテム毎アイテム数」等の項目を有している。「プレイヤID」は、プレイヤを識別する情報である。「アイコン情報」は、当該プレイヤの表示用のアイコン画像を示す情報である。「プレイヤ名」は、当該プレイヤの表示名の情報である。「レベル」は、当該プレイヤのゲーム上の強さを示す情報である。「ステータス」は、当該プレイヤのゲームの進行状態を示す情報である。「アイテム付与条件」は、アイテムが付与される条件を示す情報である。例えば、友達プレイヤから所定のアイテムがプレゼントされている場合には、所定のリクエストを行うことで所定のアイテムが付与されるということを示している。「アイテム毎アイテム数」は、当該プレイヤに現時点で付与されているアイテム毎の取得数の情報である。
<動作>
図7は上記の実施形態の処理例を示すシーケンス図である。
図7において、オペレータの操作に基づき、端末装置1Cの検査条件設定部151は検査装置5に検査条件の設定を行う(ステップS101)。検査装置5では検査条件設定受付部52が検査条件の設定を受け付け、正常に設定された場合にはその旨を応答する(ステップS102)。
図8は検査条件の設定のために端末装置1Cに表示される操作画面の例を示しており、リクエスト数と検査回数と検査間隔を入力もしくは選択することで、検査条件の設定が行えるようになっている。「検査開始」ボタンは、検査開始を指示する際に操作するものである。
なお、検査条件の設定は検査開始の指示を行う前に行えばよい。また、検査条件にはデフォルト値が設定されているため、そのままでよい場合には積極的に検査条件の設定を行う必要はない。
図7に戻り、プレイヤ(オペレータ)の操作に基づき、端末装置1Aのサーバアクセス部13はゲーム進行のためのリクエストをプロキシサーバとしての検査装置5に送信し(ステップS103)、検査装置5のプロキシ部51は受信したリクエストをソーシャルゲーム管理サーバ4に転送する(ステップS104)。
ソーシャルゲーム管理サーバ4のリクエスト処理部41は、受信したリクエストに対応する処理を行ってレスポンスを検査装置5に送信し(ステップS105)、検査装置5のプロキシ部51は端末装置1Aに転送する(ステップS106)。
これらのゲーム進行を行っている過程でソーシャルゲーム管理サーバ4からアイテム付与が可能になることを示すレスポンスが端末装置1Aに送信されたとする(ステップS107、S108)。図9は「○○様から□□□□□を1個もらいました。」という、アイテムがプレゼントされたゲーム画面の例を示しており、「受け取る」ボタンを操作することでアイテムの付与が受けられる状態にあることを示している。
図7に戻り、オペレータがそのアイテム付与についてソーシャルゲーム管理サーバ4の検査をしたいと考えた場合、端末装置1Cの検査開始指示部152から検査装置5に対して検査開始を指示する(ステップS109)。例えば、図8に示した操作画面から「検査開始」ボタンを押すことで検査開始を指示する。
図7に戻り、検査装置5の検査開始受付部53は検査開始を正常に受け付けると、その旨を応答する(ステップS110)。
次いで、検査装置5の検査実行部55は、プロキシ機能抑制部551によりプロキシ機能の抑制を行い(ステップS111)、リクエスト待機部552によりリクエスト待機の状態に入る(ステップS112)。
その後、端末装置1Aにおいてリクエストが発行(例えば、図9のゲーム画面の「受け取る」ボタンが押されることで、ボタンに対応するリクエストが発行)され、検査装置5のリクエスト待機部552が端末装置1Aからリクエストを受信すると(ステップS113)、リクエストコピー部553により検査条件に従ってリクエストをコピーして必要数のリクエスト(リクエスト数分のリクエスト群を検査回数の数)を用意し(ステップS114)、リクエスト一括送信部554によりソーシャルゲーム管理サーバ4に向けて検査回数毎に一括送信する(ステップS115)。
ソーシャルゲーム管理サーバ4のリクエスト処理部41は、受信したリクエストに対応する処理を行ってレスポンスを検査装置5に送信する(ステップS116)。このレスポンスとしては、アイテム付与を正常に行った場合のレスポンスや、アイテム付与が重複して要求されたことに対してエラーを返すものや、重複処理を行ってしまってアイテム付与を行った場合のレスポンスも含まれる。
次いで、検査装置5の検査実行部55は、アイテム増加数確認部555により、検査回数の1回分ずつの複数のリクエストにつき、ソーシャルゲーム管理サーバ4における当該プレイヤのアイテム数の増加数を確認し、重複処理の有無を確認する(ステップS117)。
次いで、診断部556により、アイテム増加数確認部555による重複処理の確認結果および検査条件等に基づき、ソーシャルゲーム管理サーバ4の診断を行う(ステップS118)。
次いで、検査結果記録部557により、検査回数の1回分毎の重複処理の有無や、実際に送信されたリクエストおよびレスポンスのログや、診断部556による診断結果等を内部的に記録する(ステップS119)。
その後、検査回数分だけ同様の処理を繰り返し、端末装置1Aに対してレスポンスを送信する(ステップS120)。端末装置1Aからは1つのリクエストが出ただけであるため、1つのレスポンスを返す。そして、プロキシ機能抑制部551によりプロキシ機能の抑制を解除する(ステップS121)。
その後、端末装置1Cから検査結果の要求があると(ステップS122)、検査装置5の検査結果出力部56は検査結果を応答し(ステップS123)、端末装置1Cは検査結果を表示する(ステップS124)。なお、端末装置1Cからの要求により検査結果を応答しているが、検査装置5からの要求を待たずに端末装置1Cに検査結果を送信してもよい。
図10は端末装置1Cに表示される操作画面において、検査条件とともに検査結果と診断の内容が表示された状態を示している。この例では、3回の検査回数のうちの1回目と2回目では重複処理は発生せず、3回目で重複処理が発生していることを示している。また、検査結果の下には、リクエストおよびレスポンスの内容を示すログがスクロールして閲覧できるようになっている。
また、診断としては、「データベーストランザクション管理に不備があります。重要な処理を行う際にはレコードのロックを行い、他の処理が同時に行われないように排他制御をする必要があります。」が表示されている。診断結果としては、その他に、検査条件が十分でないため、再設定して検査を行うことを勧める旨等を表示することもできる。
<総括>
以上説明したように、本実施形態によれば、端末装置からサーバへの要求が同時あるいは短時間に複数回なされることに起因してサーバにおける処理が重複して行われることを有効に検査することができる。
以上、本発明の好適な実施の形態により本発明を説明した。ここでは特定の具体例を示して本発明を説明したが、特許請求の範囲に定義された本発明の広範な趣旨および範囲から逸脱することなく、これら具体例に様々な修正および変更を加えることができることは明らかである。すなわち、具体例の詳細および添付の図面により本発明が限定されるものと解釈してはならない。
1、1A〜1C 端末装置
11 プレイヤ操作入力部
12 ゲームロジック実行部
13 サーバアクセス部
14 画面表示部
15 ブラウザ
151 検査条件設定部
152 検査開始指示部
153 検査結果取得・表示部
2 アクセスポイント
3 ネットワーク
4 ソーシャルゲーム管理サーバ
41 リクエスト処理部
411 操作受付部
412 ゲーム進行制御部
413 アイテム付与部
42 プレイヤ情報管理部
43 プレイヤ情報データベース
5 検査装置
51 プロキシ部
52 検査条件設定受付部
53 検査開始受付部
54 検査開始判断部
55 検査実行部
551 プロキシ機能抑制部
552 リクエスト待機部
553 リクエストコピー部
554 リクエスト一括送信部
555 アイテム増加数確認部
556 診断部
557 検査結果記録部
56 検査結果出力部

Claims (7)

  1. 端末装置からの要求に応じて所定の処理を実行するサーバにおける重複処理の検査を行うシステムであって、
    検査開始時に、前記端末装置から前記サーバに対して送信される要求を受信する受信手段と、
    当該要求をコピーすることで所定数の要求とし、当該所定数の要求を前記サーバに一括して送信する送信手段と、
    前記所定数の要求による前記サーバの処理結果を取得して重複処理の有無を確認する確認手段と
    を備えたことを特徴とするサーバ検査システム。
  2. 請求項1に記載のサーバ検査システムにおいて、
    前記確認手段は、前記サーバから応答として返されるデータから前記サーバの処理結果を取得して重複処理の有無を確認する
    ことを特徴とするサーバ検査システム。
  3. 請求項1に記載のサーバ検査システムにおいて、
    前記確認手段は、所定のアドレスのデータにアクセスすることで、前記サーバの処理結果を取得して重複処理の有無を確認する
    ことを特徴とするサーバ検査システム。
  4. 請求項1乃至3のいずれか一項に記載のサーバ検査システムにおいて、
    前記所定数を含む検査条件の設定を受け付ける受付手段
    を備えたことを特徴とするサーバ検査システム。
  5. 請求項1乃至4のいずれか一項に記載のサーバ検査システムにおいて、
    前記確認手段の確認結果に基づいて前記サーバの診断を行う診断手段
    を備えたことを特徴とするサーバ検査システム。
  6. 端末装置からの要求に応じて所定の処理を実行するサーバにおける重複処理の検査を行う装置であって、
    検査開始時に、前記端末装置から前記サーバに対して送信される要求を受信する受信手段と、
    当該要求をコピーすることで所定数の要求とし、当該所定数の要求を前記サーバに一括して送信する送信手段と、
    前記所定数の要求による前記サーバの処理結果を取得して重複処理の有無を確認する確認手段と
    を備えたことを特徴とするサーバ検査装置。
  7. 端末装置からの要求に応じて所定の処理を実行するサーバにおける重複処理の検査を行う装置を構成するコンピュータを、
    検査開始時に、前記端末装置から前記サーバに対して送信される要求を受信する受信手段、
    当該要求をコピーすることで所定数の要求とし、当該所定数の要求を前記サーバに一括して送信する送信手段、
    前記所定数の要求による前記サーバの処理結果を取得して重複処理の有無を確認する確認手段
    として機能させるサーバ検査プログラム。
JP2013117004A 2013-06-03 2013-06-03 サーバ検査システム、サーバ検査装置およびサーバ検査プログラム Expired - Fee Related JP5411381B1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013117004A JP5411381B1 (ja) 2013-06-03 2013-06-03 サーバ検査システム、サーバ検査装置およびサーバ検査プログラム
US14/157,591 US8990296B2 (en) 2013-06-03 2014-01-17 Server check system and server check apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013117004A JP5411381B1 (ja) 2013-06-03 2013-06-03 サーバ検査システム、サーバ検査装置およびサーバ検査プログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2013230676A Division JP2014235730A (ja) 2013-11-06 2013-11-06 サーバ検査システム、サーバ検査装置およびサーバ検査プログラム

Publications (2)

Publication Number Publication Date
JP5411381B1 true JP5411381B1 (ja) 2014-02-12
JP2014235588A JP2014235588A (ja) 2014-12-15

Family

ID=50202709

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013117004A Expired - Fee Related JP5411381B1 (ja) 2013-06-03 2013-06-03 サーバ検査システム、サーバ検査装置およびサーバ検査プログラム

Country Status (2)

Country Link
US (1) US8990296B2 (ja)
JP (1) JP5411381B1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RS65854B1 (sr) * 2015-01-28 2024-09-30 Inexto Sa Postupak i uređaj za identifikaciju i praćenje jedinica i kontejnera
WO2023282957A1 (en) * 2021-07-08 2023-01-12 DraftKings, Inc. Systems and methods for controlling and modifying access permissions for private data objects

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002007232A (ja) * 2000-06-21 2002-01-11 Cybird Co Ltd Wwwサーバーの性能試験方法およびサーバー試験装置
JP2006508478A (ja) * 2002-11-27 2006-03-09 プラムツリー ソフトウェア インコーポレイテッド ウェブサーバヒットマルチプライヤおよびリダイレクタ
WO2011118014A1 (ja) * 2010-03-25 2011-09-29 富士通株式会社 検証支援プログラム、制御プログラム、検証支援装置、マルチコアプロセッサシステム、検証支援方法、および制御方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6237035B1 (en) * 1997-12-18 2001-05-22 International Business Machines Corporation System and method for preventing duplicate transactions in an internet browser/internet server environment
US20040078423A1 (en) * 2002-03-22 2004-04-22 Ramakrishna Satyavolu Method and apparatus for controlled establishment of a turnkey system providing a centralized data aggregation and summary capability to third party entities
US6799166B2 (en) * 1999-09-02 2004-09-28 International Business Machines Corporation Method and apparatus for preventing duplicate transactions on batch mode failure recovery in a data processing system
JP3896486B2 (ja) 2003-04-03 2007-03-22 独立行政法人産業技術総合研究所 ウェブサイトの検査装置
JP4722973B2 (ja) * 2008-08-12 2011-07-13 株式会社日立製作所 リクエスト処理方法及び計算機システム
US20130297381A1 (en) * 2012-05-07 2013-11-07 Logistimo India Private Limited Method and system for managing a low-resource supply chain

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002007232A (ja) * 2000-06-21 2002-01-11 Cybird Co Ltd Wwwサーバーの性能試験方法およびサーバー試験装置
JP2006508478A (ja) * 2002-11-27 2006-03-09 プラムツリー ソフトウェア インコーポレイテッド ウェブサーバヒットマルチプライヤおよびリダイレクタ
WO2011118014A1 (ja) * 2010-03-25 2011-09-29 富士通株式会社 検証支援プログラム、制御プログラム、検証支援装置、マルチコアプロセッサシステム、検証支援方法、および制御方法

Also Published As

Publication number Publication date
US8990296B2 (en) 2015-03-24
JP2014235588A (ja) 2014-12-15
US20140358993A1 (en) 2014-12-04

Similar Documents

Publication Publication Date Title
EP2994828B1 (en) Apps store with integrated test support
US9292423B1 (en) Monitoring applications for compatibility issues
CN105630685A (zh) 程序接口测试方法及装置
CN109688280A (zh) 请求处理方法、请求处理设备、浏览器及存储介质
US20190121717A1 (en) Dynamic, crowd-sourced error and crash resolution for computer programs
US20210073676A1 (en) Model improvement support system
US11409639B2 (en) Shadow testing
JP5411381B1 (ja) サーバ検査システム、サーバ検査装置およびサーバ検査プログラム
CN114270345B (zh) 已许可用户促进和控制系统
JP7320211B1 (ja) ウェブサイトの脆弱性を検査するためのシステム、方法、及びプログラム
US20220207448A1 (en) Method and System for Selection of Users in Feature Rollout
CN104809054A (zh) 实现程序测试的方法和系统
US20160006742A1 (en) Information processing apparatus and control method thereof
JP7368921B1 (ja) ウェブサイトの自動巡回を行うためのシステム、方法、及びプログラム
JP2014235730A (ja) サーバ検査システム、サーバ検査装置およびサーバ検査プログラム
CN113127319A (zh) 一种信息监控方法、相关装置及计算机存储介质
CN113285915A (zh) 一种注册管理方法、装置及私有云控制服务器
JP2018077697A (ja) 検証システムおよび検証方法
WO2016136747A1 (ja) 機械装置管理システム、機械装置の管理装置、機械装置を管理するサーバ、機械装置、および、機械装置の管理方法
WO2024232110A1 (ja) ウェブサイトの脆弱性を検査するためのシステム、方法、及びプログラム
JP2019133393A (ja) 端末装置、端末装置の制御方法、プログラム、ファイル共有システム、及び、ファイル共有システムの制御方法
CN115174343A (zh) B/s架构页面巡检方法、装置和页面巡检系统
CN111767178A (zh) 物理机性能测试方法及装置
KR20250033948A (ko) 관리장치, 방법, 및 기억매체
JP7390070B1 (ja) ウェブサイトを検査するためのシステム、方法、及びプログラム

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131107

R150 Certificate of patent or registration of utility model

Ref document number: 5411381

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees