IP Library Patent Application 12029445
Patent Application
App. No. 12/029,445

AUTOMATED RECORDING OF VIRTUAL DEVICE INTERFACE

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
12/029,445
Abstract

The present invention provides a means for automated interaction with a Mobile Device to create a graph of the menu system, Mobile Applications, and Mobile Services available on the Mobile Device. The information recorded in the graph can then be played back interactively at a later time. In order to build a graph in this automated fashion, the physical Mobile Device is integrated with a Recording/Control Environment. This environment has a Device Interface, which has the ability to control the user interface of the Mobile Device and record the resulting video and audio data from the Device. An automation Crawler uses the Device Interface to navigate the Mobile Device to unmapped states. A State Listener monitors the data coming to and from the Mobile Device and resolves it to a single state, saving new states to the graph as needed.

Claims (87)

1 . A method for identifying a current state of a mobile device for recording interactions with the mobile device, comprising:

receiving a current state from the mobile device;

separating a transitional sequence between states and a stable state from the current state; and

masking dynamic content from the stable state to identify the canonical samples that represent the stable state.

2 . The method of claim 1 , further comprising detecting a stable loop within the stable state.

3 . The method of claim 1 , further comprising comparing the stable state with previously identified states.

4 . The method of claim 3 , further comprising recording the stable state if a match is not found with the previously identified states.

5 . The method of claim 1 , further comprising creating a link from a previous state to the current state.

6 . The method of claim 1 , further comprising navigating to a previously unrecorded state.

7 . A method for identifying a current state of a mobile device for navigating through mobile device options, comprising:

retrieving audio and video data from the mobile device;

filtering dynamic content;

processing the video data for fast comparison; and

detecting loops in the video data.

8 . The method of claim 7 , further comprising storing the video data as a stream of pixel updates.

9 . The method of claim 7 , further comprising storing the pixel updates as an XY coordinate and an image checksum.

10 . The method of claim 7 , wherein processing the video data includes masking the dynamic content.

11 . A method for building a state diagram for later navigating to specified states of a mobile device, comprising:

defining a root node;

finding a first node with missing outgoing links;

navigating to a state corresponding to the first node on the mobile device; and

sending a navigation event to the mobile device.

12 . The method of claim 11 , further comprising storing the navigation event in a state diagram.

13 . The method of claim 11 , further comprising determining a shortest path from a current state to a desired state in the state diagram.

14 . The method of claim 13 , further comprising sending navigation events corresponding to the shortest path to the mobile device.

15 . The method of claim 13 , wherein the shortest path is determined by

identifying the current state and the desired state of the mobile device;

determining the depth of the desired state from the root node; and

adding a configured path from the current state to the root node.

16 . An apparatus for identifying a current state of a mobile device for recording interactions with the mobile device, comprising:

an interface configured for connecting to the mobile device;

a processor communicatively coupled to the interface and programmed for recording the interactions with the mobile device by

receiving a current state from the mobile device,

separating a transitional sequence between states and a stable state from the current state, and

masking dynamic content from the stable state to identify the canonical samples that represent the stable state.

17 . The apparatus of claim 16 , wherein the processor is further programmed for detecting a stable loop within the stable state.

18 . The apparatus of claim 16 , wherein the processor is further programmed for comparing the stable state with previously navigated states.

19 . The apparatus of claim 16 , wherein the processor is further programmed for creating a link from a previous state to the current state.

20 . The apparatus of claim 16 , wherein the processor is further programmed for determining the transitional sequence between states by comparing previously navigated states.

21 . An apparatus for identifying a current state of a mobile device for recording interactions with the mobile device, comprising:

an interface configured for connecting to the mobile device;

a processor communicatively coupled to the interface and programmed for recording the interactions with the mobile device by

retrieving audio and video data from the mobile device,

filtering dynamic content,

processing the video data for fast comparison, and

detecting loops in the video data.

22 . The apparatus of claim 21 , wherein the processor is further programmed for processing the video data by masking the dynamic content.

23 . An apparatus for building a state diagram for later navigating to specified states of a mobile device, comprising:

an interface configured for connecting to the mobile device;

a processor communicatively coupled to the interface and programmed for determining the navigation paths of the mobile device by

defining a root node,

finding a first node with missing outgoing links,

navigating to a state corresponding to the first node on the mobile device, and

sending a navigation event to the mobile device.

24 . The apparatus of claim 23 , wherein the processor is further programmed for determining a shortest path from a current state to a desired state in the mobile device.

25 . The method of claim 24 , wherein the shortest path is determined by

identifying the current state and the desired state of the mobile device;

determining the depth of the desired state from the root node; and

adding a configured path from the current state to the root node.

26 . A computer-readable medium comprising program code for identifying a current state of a mobile device for recording interactions with the mobile device, the program code for causing performance of a method comprising:

receiving a current state from the mobile device,

separating a transitional sequence between states and a stable state from the current state, and

masking dynamic content from the stable state to identify the canonical samples that represent the stable state.

27 . The computer-readable medium of claim 26 , the program code further for causing performance of the method comprising detecting a stable loop within the stable state.

28 . The computer-readable medium of claim 26 , the program code further for causing performance of the method comprising comparing the stable state with previously navigated states.

29 . The computer-readable medium of claim 26 , the program code further for causing performance of the method comprising creating a link from a previous state to the current state.

30 . The computer-readable medium of claim 26 , the program code further for causing performance of the method comprising determining the transitional sequence between states by comparing previously navigated states.

31 . A computer-readable medium comprising program code for identifying a current state of a mobile device for recording interactions with the mobile device, the program code for causing performance of a method comprising:

retrieving audio and video data from the mobile device,

filtering dynamic content,

processing the video data for fast comparison, and

detecting loops in the video data.

32 . The computer-readable medium of claim 31 , the program code further for causing performance of the method comprising processing the video data by masking the dynamic content.

33 . A computer-readable medium comprising program code for building a state diagram for later navigating to specified states of a mobile device, the program code for causing performance of a method comprising:

defining a root node,

finding a first node with missing outgoing links,

navigating to a state corresponding to the first node on the mobile device, and

sending a navigation event to the mobile device.

34 . The computer-readable medium of claim 33 , the program code further for causing performance of the method comprising determining a shortest path from a current state to a desired state in the mobile device.

35 . The computer-readable medium of claim 34 , the program code further for causing performance of the method comprising determining the shortest path by

identifying the current state and the desired state of the mobile device;

determining the depth of the desired state from the root node; and

adding a configured path from the current state to the root node.

36 . An apparatus for controlling a mobile device and recording interactions between the apparatus and the mobile device for subsequent simulation in a virtual environment, comprising:

a device interface to connect to the mobile device and control a navigation of the mobile device;

an automated crawler to determine an unmapped state of the mobile device; and

a state listener to record a control and a response from the mobile device and determine if the response was previously recorded.

Assignments (7)
RELEASE Recorded Nov 10, 2011
From: SOLICON VALLEY BANK
To: MOBILE COMPLETE, INC.
Reel/Frame 027252/0806 →
RELEASE Recorded Oct 25, 2011
From: SILICON VALLEY BANK
To: MOBILE COMPLETE, INC.
Reel/Frame 027122/0766 →
RELEASE OF SECURITY INTEREST Recorded Oct 19, 2011
From: MMV FINANCE INC.
To: MOBILE COMPLETE, INC.
Reel/Frame 027088/0967 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 7, 2010
From: MARSYLA, DAVID JOHN; SYED, FARAZ ALI; BRODY, JOHN TUPPER; MATHISON, JEFFREY ALLARD
To: MOBILE COMPLETE, INC.
Reel/Frame 024648/0457 →
SECURITY AGREEMENT Recorded Nov 5, 2009
From: MOBILE COMPLETE, INC.
To: SILICON VALLEY BANK
Reel/Frame 023479/0445 →
SECURITY AGREEMENT Recorded Nov 3, 2009
From: MOBILE COMPLETE, INC.
To: MMV FINANCE INC.
Reel/Frame 023456/0420 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2008
From: MARSYLA, DAVID JOHN; SYED, FARAZ ALI; BRODY, JOHN TUPPER; MATHISON, JEFFREY ALLARD
To: MOBILE COMPLETE, INC.
Reel/Frame 020493/0663 →