|Publication number||US20060184583 A1|
|Application number||US 11/402,702|
|Publication date||Aug 17, 2006|
|Filing date||Apr 11, 2006|
|Priority date||Sep 7, 2001|
|Also published as||US20030085818|
|Publication number||11402702, 402702, US 2006/0184583 A1, US 2006/184583 A1, US 20060184583 A1, US 20060184583A1, US 2006184583 A1, US 2006184583A1, US-A1-20060184583, US-A1-2006184583, US2006/0184583A1, US2006/184583A1, US20060184583 A1, US20060184583A1, US2006184583 A1, US2006184583A1|
|Inventors||Joseph Renton, Eric Hicks, William Isley, Steven Hawkins|
|Original Assignee||Renton Joseph J, Hicks Eric M, Isley William M, Hawkins Steven S|
|Export Citation||BiBTeX, EndNote, RefMan|
|Patent Citations (18), Referenced by (10), Classifications (7), Legal Events (2)|
|External Links: USPTO, USPTO Assignment, Espacenet|
This application is a divisional of application Ser. No. 10/241,381, “System and Method for Acquiring, Storing, Processing and Presenting Data Accumulated through an In-Flight Aircraft Server” filed Sep. 9, 2002 that claims priority to provisional application U.S. Ser. No. 60/318,066, “System and Method for Acquiring, Processing, Storing and Presenting Data Accumulated through In-Flight Entertainment Systems” filed Sep. 7, 2001.
1. Field of the Invention
The present invention relates generally to improvements in data acquisition and analysis systems and more particularly pertains to new and improved systems and methods for acquiring, processing and presenting data for individual authorized users of the system in a user-defined format with communication between an individual user and the system over the internet.
2. Description of the Related Art
The system and method of the present invention finds particular applicability to the acquisition, storing, processing and presentation of accumulated data from in-flight entertainment (IFE) systems that have been developed and used primarily on international commercial passenger airliners to entertain the passengers during long international flights. These IFE systems typically include a server that serves media such as audio, video, or web pages to terminals at the individual passenger seats. These servers also typically collect data relating to the use of the media provided to the passengers. Information such as which audio segments, video segments or web pages are being viewed by the passengers. Data gathered in other business domains such as web site traffic analysis, consumer buying pattern analysis, project expense analysis or any other domain that requires reporting analysis of raw data could also be the source of information that that the system of the present invention is capable of processing.
In the field of acquiring and analyzing data for usage, or for any other reason, it has been the practice to employ procedures that were cumbersome for individual users or customers of the service providing the analysis. The present invention, on the other hand, by employing a website accessible by each authorized user readily allows that authorized user to easily up-load his data from a PC, over the internet. The system converts the data to a usable format and archives it into a server structured database. From his PC, an individual user can quickly and easily generate reports based on his stored data in a variety of predetermined and customized formats after logging on to the website interface.
A system and method for gathering and processing data generated by an in-flight aircraft computer system using a data collection means and a processor for extracting data from the in-flight information gathered by the aircraft computer system during flight. The extracted data is communicated by way of a dedicated website to a storage module which is uniquely configured for the extracted data and the authorized users of the system. The data stored in the storage module is used by a data presentation processor under the control of an authorized user to produce reports in a variety of prearranged or custom formats using the data in the configured storage module. The reports could include graphics such as 2D, and 3D bar charts, 2D and 3D pie charts, as well as a variety of table and statistics formats. The statistics formats could display usage statistics, in-flight passenger survey statistics or errors logged by the in-flight system. The system of the present invention reminds the authorized user of missing data, such as the acquired data from a certain flight being missing, if it has not been uploaded into the system within a certain period.
The exact nature of this invention as well as its objects and advantages will become apparent to those skilled in the art upon consideration of the following description of a preferred embodiment of the invention as illustrated in the accompanying sheets of drawings in which:
The authorized user is typically an airline company 45 like American or United, for example, which would have other PC workstations at other airline facilities 27 throughout the country that are connected to the internet 25, perhaps over a high speed data line 53. This workstation 45 could access by way of the internet and another high speed data line 51, the facilities of the systems' data warehousing center 29. Access to the database server and back-up storage 43 for the airline authorized user is through a web-based server 41 which is behind the security requirements of a firewall structure 39.
A network operation center 31 is operated by the company providing the data gathering and presentation services to the authorized user airline. The data warehouse facility 29 is also established and maintained by the company providing the contract to the airline. The network operations center 31 contains a firewall structure 33 that prevents unauthorized entry to the operations center 31 but which allows connection over a high speed network 49 to the internet 25 and to the data warehousing facility 29. The network operations center 31 includes a tape back-up unit 35 for storing any data retrieved from data warehousing facility 29 as needed and a network monitor 37 for accessing the web server 41, and the data server and back-up storage modules 43 in the data warehouse center.
The services provided to the airline authorized user for example, is provided to the user through a web-based user interface (UI). Referring now to
The data warehouse 55 illustrated in
Each authorized user's data mart 57 is a Microsoft SQL server 2000 database schema that houses the information uploaded by a specific user. All references to the data mart necessary to create a connection with the database, perform a query and generate a report by that authorized user stored in the metadata database 59.
The database schema for an authorized user's data mart is designed and implemented based upon data definitions and relationships provided by the authorized user. Stored procedures are used for populating the data mart of the authorized user from uploaded data file information. The appropriate references to the data mart are added to the metadata database 59. The data mart 57 is created by SQL script and are reused if another subscribing authorized user entity requires storage of similar data. Even though the schema is reused, a separate database is created for each separate authorized user entity.
The metadata database 59 is a MicroSoft SQL Server 2000 database that stores all the information pertaining to a user of the data warehouse functions such as user log-in, password, available reports, and dispatching information for the data extractor. It contains all references to the user data mart 57 required to perform a query or generate a report. The metadata database 59 also contains any information necessary for data mart management. In addition, the metadata database contains the user interface customization information such as the user's color scheme and the user's custom logo.
An authorized user inserts data into his specific data mart 57 uploading data files from an HTML form. SA-FileUp 75, a third party Internet Server Application Programmer Interfaced Dynamically Linked Library (ISAPI DLL) accepts the data file submitted and stores it on the server. SA-FileUp 75 provides progress indication on the status of an uploaded file by firing status to a progress ASP script 83. Information such as total file size, the file name and the percent loaded so far is provided by the fire status which allows a display of a progress bar by an HTML page in a pop-up window that refreshes after each status is fired. Once the entire file is loaded the progress bar window waits five seconds and then closes.
A data extractor 85 is preferably a component ASP Object Model (COM) DLL combination that prepares and performs the parsing of the uploaded data file. If the uploaded data file must be extracted from a zip file, or any other preparation must be done to the file to bring it to a state where it can be parsed, the data extractor 85 performs these operations. The data extractor 85 is also responsible for parsing the file and inserting it into the appropriate data mart 57. Insertion into the data mart 57 are performed by MS SQL Server Stored Procedures.
The authorized user defines the format of the data file that is used to insert data into its data mart 57. The necessary data extraction, parsing, an database insertion routines are then written into the data extractor 85, if the routines do not already exist. Database insertions are done by Stored Procedures. The Data Extractor 85 is called from an ASP script 83 as the result of a data file upload. References are added to the metadata database 59 so that the systems knows which data extraction routine to use for that particular data file. If the uploaded data file is a set of data files compressed into a zipped file, the InfoZip function and Application Programs Interface are used to unzip the files.
The reporting engine 61 of the system is Crystal Reports 8.5 Developer Edition 65. Crystal Report's wizards are used to predefine the reports that authorized users can run against their data. References to the available predefined reports are stored in the metadata database 59. An ASP script drives the process of running the Crystal Reports reporting engine 61 and displaying the report in the appropriate location in the user interface 69. The reports may include statistical information, charts, graphs, and tables.
A set of predefined Crystal Reports, created with Crystal Reports 8.5 Developer Edition 65, exists for each type of data housed in the data warehouse 55. An authorized user can request that additional predefined reports, designed by the authorized user, created by a service representative for the system be added for his use. References exist in the metadata database 59 for defining the access each user has to a particular report. These reports are reused if another authorized user requires storage and reports on a similar data.
A Crystal Reports ActiveX Viewer 71 component is used in the system to view reports as well as export the reports to a variety of formats. The Crystal Reports ActiveX Viewer 71 can export a report to a MicroSoft word document, MicroSoft Excel document, or an Adobe PDF document, for example. It also has the ability to print and report straight from the user interface 69.
A report creator through ASP 79 allows the customization of a set of report types into a user defined report. From an implementation perspective, a report type is a superset of data returned by the Report Exporter 63 in response to a database query. Examples of report types are Digital Video Usage Report, Passenger Survey Report, and Analog Audio Usage Reports.
The report creator uses the Crystal Reports Report Designer Component 67 to create Crystal Reports Report files based on user specifications set in the “Create A Report” user interface 69. This feature allows the authorized user to add a graph to a report, discriminate against the data return by the report, set the fields to be displayed in the report, set the format of the report, and create a Crystal Reports report file (RPT).
An Account Administrator through ASP 77 allows the authorized user to create and administer the system for his company. Access can be set, granted, or removed for the Main Menu, Data Upload, Generate a Report, or Create a Report functions for each authorized user. Access to individual reports can also be set by the account administrator.
User access levels are stored in the metadata database 59. Before loading any screen that has possible access restrictions, the metadata database 59 is queried to verify the user's access. Any functionality that the user does not have access to is not displayed on the screen. By default, when the authorized user creates a user, the user does not have right to view any reports or perform any functionality.
The account administrator can also set effectivity dates for its data and monitor the amount of data stored. Data stored in the authorized user's data mart 57 with an expired effectivity date will be moved to a temporary data mart archive upon insertion of new data. This temporary data mart archive is a separate SQL Server database that is created for each authorized user that subscribes to the service. The migration of the data with expired effectivity is accomplished by the stored procedures that are used to insert new data. This temporary data mart archive is backed up to tape at the end of each month in the native SQL Server backup format and purged from the database.
An upload reminder 87 e-mails the account administrator if data is missing from the brand account's data mart. For example, if a set of data is missing from the authorized user's data mart, the upload reminder 87 e-mails the address specified by the authorized user and identifies the set of data that is missing. The upload reminder 87 is a Windows service that runs on the web server. Every night at midnight, for example, the upload reminder 87 queries all data mart 57 for missing data, e-mailing the brand administrator if missing data is discovered
Parameters can be set by the account administrator specifying the e-mail address the upload reminder 87 is to use, length of time that can pass with missing data before sending an e-mail, and the frequency of the reminder. These set parameters are stored in the metadata database 59. The reminders can be set to e-mail each day until the data is uploaded or once every N days, where N is a number specified by the authorized user Account Administrator.
The code that parses uploaded data files and inserts the data into the database 55 is compiled into a COM DLL, extractorprj.dll that exposes one interface, IExtractor which contains the modules: Initiate, Extract, Parse Files and Insert Into Database.
The web-based user interface (UI) 69 encompasses all of the HTML scripts that are accessible to the users. It also contains portions of the user database and ASP scripts used to customize the color scheme of the UI for each authorized user and add in the branded user logo banner.
A variety of screens may be seen by the authorized user of the system: A login screen, which provides fields for the authorized user to enter a login name and password. A main menu screen, that appears when the authorized user logs into the system. This screen also provides a listing of the menu options available to the authorized user. A data upload screen which provides a field and a file system dialog for the authorized user to select the data file he wishes to upload. The user interface also allows the authorized user to select between the different types of file formats that can be used to upload the data. An upload progress screen which is merely a pop-up window that displays a progress bar indicating the percentage of the data file that is uploaded so far. A report generation screen that lists all reports that the authorized user has access to as well as the parameters that can be set on the data to discriminate against the data returned by the report. Examples of parameters that can be set for uploaded in-flight entertainment data are: flight number, flight date, or tail number. These parameters can be set to generate a report for a specific flight, or a specific tail number, or both. The parameter values selected by the authorized user are passed to the Crystal Reports 65 as a selection formula. The selection formula narrows down the data displayed in the selected report. By selecting the desired values of available parameters, the selection criteria of the data that is represented in the report is tailored to only the data the authorized user wishes to see in the report. A report display screen is an HTML page with the Crystal Reports ActiveX Viewer embedded into it. The Crystal Reports ActiveX Viewer 71 directly communicates with the Crystal Reports web components to generate the reports. The ActiveX Viewer 71 provides the functionality to display reports, export reports to the client machine, refresh the data in the report, magnify the view of the report, or print the report. An administrator accounts screen allows the user to change their login password, as well as set administration options. An ad-hoc report creation screen allows the authorized user to define a report that they wish to run against their data mart. A flight information modification screen allows the authorized user the ability to modify invalid flight data uploaded to the data mart.
The login script ASP 91 validates the authorized user's login and password against the metadata database and initializes session information such as the user's color scheme, location of the user's corporate logo banner, the user's ID, and the user's name, for example. If the submitted user login and/or password are invalid, the login script 91 redirects the user back to the home page 89 and a message is displayed. If the user name and password are valid, the login script 91 allows the user in and redirects to the main menu 95.
From the main menu 95, the user can go to Administrator Account 107, date file upload 111, report generation 99, report creation 97, or log-out 93. An upload and data extraction script 117 receives the uploaded data file and initiates the Extractor COM DLL to unzip the file (if necessary), parse the files, and insert the data into the user's data mart. A report generation processing script 103 displays the generated report created by the Crystal Report Report Generation Engine 61 (
The other user interface screens of
Referring now to
The user's table 121 stores information on the individual authorized users. The company that subscribes to the service is allotted a maximum number of users. Each user has personal information stored in the database such as login, password, name, address and so on. Logins for each authorized user must be unique and passwords must be at least eight digits in length. The company ID field references the company the user belongs to. The system has two levels of users, administrative and non-administrative users. Administrative authorized users are denoted by a 1 in the user level field. Non-administrative authorized users are denoted by a 0. An entry in the CR user access table 123 indicates that a user represented by a user ID has been granted the right to create the report represented by CRID which is the creatable report ID.
The company table 125 stores information about the company which is subscribing to the service. Each company has its own set of authorized users and own branded version the website. The company table 125 stores the company name, address, banner logo to display within the website, and the company's user interface color scheme.
The company creatable reports table 127 allows entry only to users that belong to the branded version of the service represented by the company ID as having the ability to create a report represented by CRID. Individual user's access to the functionality of creating the report depends on whether the administrator for the authorized user has granted access to create that report.
Entry into the CR parameters table 139 indicates that a creatable report represented by CRID supports the parameter selection of the parameter in the parameters table represented by the parameter ID. Both creatable (ad-hoc) and static reports share the parameters table.
Entry into the CR user access table 123 indicates that the user represented by the user ID has been granted the right to create the report represented by CRID.
The user reports table 135 stores information about reports that individual users have created from the creatable reports 129. Created reports are viewable only by the user who created that report as indicated by his user ID. When a user creates a report, the Crystal Reports RPT file is created on the server. Information that is difficult to retrieve from the RPT file using the CR-RDC object model is stored in the metadata database.
The creatable reports table 129 stores data on all the reports that the system is capable of creating at that time. A creatable report is simply a report type that can be customized to user specifications. A report type from an implementation standpoint is a predefined query that returns a superset of data that can be filtered down to return only a subset of data and has the capability of having the presentation modified. The SQLString field stores the query that returns the superset of data to the report. The Graph X and Graph Y fields represent the table and the column name of the x and y access of the bar chart (or the on change of, and values fields if a pie chart is chosen) associated with the report. Creatable reports have a predetermined chart associated with preset x and y axis in which the type of chart is customizable. If the Graph X Axis and the Graph Y Axis are null, the report does not support a graph.
The graph types table 133 stores all the graph types supported by the system. The most common graph types are 2D bar charts, 3D bar charts, 2D pie charts and 3D pie charts.
Entry into the CR graph type table 131 indicates that a creatable report represented by CRID supports the inclusion of a graph type represented by graph type ID.
Entry in the CR parameter table 139 indicates that the creatable report represented by CRID supports the parameter selection of the parameter in the parameter table 141 represented by the parameter ID. Both creatable and static reports share the parameters table 141.
The flights table 151 stores flight specific information such as flight number, flight time, departure airport, arrival airport, and aircraft tail number. The flight key is the primary key on this table.
The VOD table 143 stores video on demand title viewing by seat per flight. The view time field represents the number of minutes the user at a seat on the aircraft spent viewing the title. The entries field represents the number of times the user selected the given title for viewing.
The NVOD table 145 stores near video on demand title viewing by seat per flight. The view time field represents the number of minutes the user at a seat on the aircraft spent viewing the title, the entries field represents the number of times the user selected the given title for viewing.
The menus table 147 stores menu viewing by seat per flight. The view time field represents the number of minutes the user at a seat on the aircraft spent viewing the menu. The entries field represents the number of times the user selected the given menu item.
The AOD table 149 stores audio on demand type listening by seat per flight. The view time field represents the number of minutes the user at a seat on the aircraft spent listening to the title. The entries field represents the number of times the user selected the given title for listening.
The analog VID table 153 stores analog video title viewing by seat per flight. The view time field represents the number of minutes the user at a seat on the aircraft spent viewing the title. The entries field represents the number of times the user selected the given title for viewing.
The analog AUD table 161 stores analog audio title listening by seat per flight. The view time field represents the number of minutes the user at a seat on the aircraft spent listening to the title. The entries field represents the number of times the user selected the given title for listening.
The Dig Aud Bd table 159 stores broadcast digital audio title listening by seat per flight. The view time field represents the number of minutes the user at a seat on the aircraft spent listening to the title. The entries field represents the number of times the user selected the given title for listening.
The Dig Vid Bd table 157 stores broadcasted digital videotape viewing by seat per flight. The view time field represents the number of minutes the user at a seat on the aircraft spent viewing the title. The entries field represents the number of times the user selected the given title for viewing.
The games table 155 stores video game title playing per seat per flight. The view time field represents the number of minutes the user at a seat on the aircraft spent playing the title. The entries field represents the number of times the user selected the given title for playing.
The Survey Names table 163 stores the name for each survey stored at an authorized user's data mart and the Surveys table 169 maps questions to surveys. For each questions in a survey, the surveys table has an entry tying the question represented by a question ID to the survey represented by the survey ID. The survey questions table 171 stores each survey question. The question number field represents the order in which the question is presented to the user and the question text field stores the actual question. A survey can have any number of questions.
The Survey Answers table 173 stores all of the possible answers to a given question. A survey can have between 2 and 6 possible answers. The answer text field is the question, answer and the answer number is the order number in which the answer is presented to the user.
The Survey Responses table 167 records the answer represented by answer number for the question represented by question ID selected by the passenger in the seat number represented by seat ID for the flight represented by the flight ID.
The flights table 165 stores flight specific information such as flight number, flight time, departure airport, arrival airport, and aircraft tail number.
Those skilled in the art will appreciate that various adaptations and modifications of the just-described preferred embodiment(s) can be configured without departing from the scope and spirit of the invention. Therefore, it is to be understood that, within the scope of the appended claims, the invention may be practiced other than as specifically described herein.
|Cited Patent||Filing date||Publication date||Applicant||Title|
|US5929895 *||Nov 27, 1996||Jul 27, 1999||Rockwell International Corporation||Low cost hybrid video distribution system for aircraft in-flight entertainment systems|
|US5937160 *||May 1, 1997||Aug 10, 1999||Reedy Creek Technologies, Inc.||Systems, methods and computer program products for updating hypertext documents via electronic mail|
|US5991735 *||Aug 11, 1998||Nov 23, 1999||Be Free, Inc.||Computer program apparatus for determining behavioral profile of a computer user|
|US6160998 *||Jun 25, 1999||Dec 12, 2000||Harris Corporation||Wireless spread spectrum ground link-based aircraft data communication system with approach data messaging download|
|US6269365 *||Jul 31, 1997||Jul 31, 2001||Canon Kabushiki Kaisha||Integrated database system|
|US6278913 *||Mar 12, 1999||Aug 21, 2001||Mil-Com Technologies Pte Ltd.||Automated flight data management system|
|US6278965 *||Aug 10, 1998||Aug 21, 2001||The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration||Real-time surface traffic adviser|
|US6377949 *||Sep 18, 1998||Apr 23, 2002||Tacit Knowledge Systems, Inc.||Method and apparatus for assigning a confidence level to a term within a user knowledge profile|
|US6400265 *||Apr 24, 2001||Jun 4, 2002||Microstrategy, Inc.||System and method for monitoring security systems by using video images|
|US6418361 *||Dec 1, 2000||Jul 9, 2002||Sinex Holdings Llc||Aircraft maintenance tracking system|
|US6489980 *||Dec 29, 1998||Dec 3, 2002||Ncr Corporation||Software apparatus for immediately posting sharing and maintaining objects on a web page|
|US6567729 *||Mar 28, 2001||May 20, 2003||Pt Holdings Ltd.||System and method of analyzing aircraft removal data for preventative maintenance|
|US6741841 *||Jan 28, 2000||May 25, 2004||Rockwell Collins||Dual receiver for a on-board entertainment system|
|US6810527 *||Sep 27, 1999||Oct 26, 2004||News America, Inc.||System and method for distribution and delivery of media context and other data to aircraft passengers|
|US6813777 *||May 26, 1998||Nov 2, 2004||Rockwell Collins||Transaction dispatcher for a passenger entertainment system, method and article of manufacture|
|US6826540 *||Dec 29, 1999||Nov 30, 2004||Virtual Personalities, Inc.||Virtual human interface for conducting surveys|
|US7136934 *||Jun 19, 2001||Nov 14, 2006||Request, Inc.||Multimedia synchronization method and device|
|US20010051876 *||Apr 3, 2001||Dec 13, 2001||Seigel Ronald E.||System and method for personalizing, customizing and distributing geographically distinctive products and travel information over the internet|
|Citing Patent||Filing date||Publication date||Applicant||Title|
|US8184974||Sep 11, 2007||May 22, 2012||Lumexis Corporation||Fiber-to-the-seat (FTTS) fiber distribution system|
|US8416184 *||Jun 27, 2007||Apr 9, 2013||Sony Corporation||Information processing apparatus, information processing method and program|
|US8416698||Aug 20, 2010||Apr 9, 2013||Lumexis Corporation||Serial networking fiber optic inflight entertainment system network configuration|
|US8424045||Aug 13, 2010||Apr 16, 2013||Lumexis Corporation||Video display unit docking assembly for fiber-to-the-screen inflight entertainment system|
|US8659990||Jul 30, 2010||Feb 25, 2014||Lumexis Corporation||Serial networking fiber-to-the-seat inflight entertainment system|
|US8990101 *||Nov 5, 2007||Mar 24, 2015||The Boeing Company||Customizable situational awareness dashboard and alerts, and associated systems and methods|
|US9036487||Nov 26, 2012||May 19, 2015||Lumexis Corporation||Serial networking fiber optic inflight entertainment system network configuration|
|US9118547||Feb 20, 2014||Aug 25, 2015||Lumexis Corporation||Serial networking fiber-to-the-seat inflight entertainment system|
|US20080106513 *||Jun 27, 2007||May 8, 2008||Shiro Morotomi||Information Processing Apparatus, Information Processing Method and Program|
|US20100145765 *||Dec 4, 2008||Jun 10, 2010||Jeffrey Kantarek||Methods and Systems for Conducting Research on an Airplane|
|U.S. Classification||1/1, 707/999.107|
|International Classification||G06Q30/00, G06F17/00, G08B21/00|
|Apr 27, 2009||AS||Assignment|
Owner name: SYSTEM AND SOFTWARE ENTERPRISES, INC., CALIFORNIA
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:RENTON, JOSEPH J.;HICKS, ERIC M.;ISLEY, WILLIAM M.;AND OTHERS;REEL/FRAME:022598/0858
Effective date: 20021030
|Dec 4, 2012||AS||Assignment|
Owner name: SYSTEMS AND SOFTWARE ENTERPRISES, LLC, CALIFORNIA
Free format text: CHANGE OF NAME;ASSIGNOR:SYSTEMS AND SOFTWARE ENTERPRISES, INC.;REEL/FRAME:029405/0001
Effective date: 20111228