AU2009200895A1 - Data access system and method - Google Patents

Data access system and method Download PDF

Info

Publication number
AU2009200895A1
AU2009200895A1 AU2009200895A AU2009200895A AU2009200895A1 AU 2009200895 A1 AU2009200895 A1 AU 2009200895A1 AU 2009200895 A AU2009200895 A AU 2009200895A AU 2009200895 A AU2009200895 A AU 2009200895A AU 2009200895 A1 AU2009200895 A1 AU 2009200895A1
Authority
AU
Australia
Prior art keywords
user
computing system
data
host computing
controller
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.)
Granted
Application number
AU2009200895A
Other versions
AU2009200895B9 (en
AU2009200895B2 (en
Inventor
John Noel Avery
Kenneth Tan
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.)
ENTERPRISE GLUE Pty Ltd
Original Assignee
ENTPR GLUE Pty Ltd
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=41091614&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=AU2009200895(A1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Priority claimed from AU2008901118A external-priority patent/AU2008901118A0/en
Priority to AU2009200895A priority Critical patent/AU2009200895B9/en
Application filed by ENTPR GLUE Pty Ltd filed Critical ENTPR GLUE Pty Ltd
Publication of AU2009200895A1 publication Critical patent/AU2009200895A1/en
Priority to AU2012100813A priority patent/AU2012100813B9/en
Priority to AU2012100812A priority patent/AU2012100812B9/en
Application granted granted Critical
Publication of AU2009200895B2 publication Critical patent/AU2009200895B2/en
Priority to AU2012261789A priority patent/AU2012261789B2/en
Publication of AU2009200895B9 publication Critical patent/AU2009200895B9/en
Priority to AU2017200711A priority patent/AU2017200711B2/en
Ceased legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • G06Q30/00Commerce
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • 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/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Development Economics (AREA)
  • Accounting & Taxation (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Finance (AREA)
  • Signal Processing (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Information Transfer Between Computers (AREA)

Description

AUSTRALIA Patents Act 1990 COMPLETE SPECIFICATION Standard Patent Applicant: Enterprise Glue Pty Ltd Invention Title: DATA ACCESS SYSTEM AND METHOD The following statement is a full description of this invention, including the best method for performing it known to me/us: P77111 AU.1 PatSet Fiing ApplIcaion 2009-3-a doc (M) - 2 DATA ACCESS SYSTEM AND METHOD Field of the Invention The present invention relates to a system, method and 5 computer program product for providing data access, and is of particular but by no means exclusive application is providing data access to an external database via a social networking website. 10 Background of the Invention In some existing approaches, a user of mobile telephony services who wishes to view his or her account balance can log on to web site of his or her telephony service provider or carrier, or use a SMS-based application loaded 15 on the telephone handset or a SIM Toolkit application on the telephone handset with the relevant functionality. In other existing approaches, the account balance can be ascertained by calling a call centre maintained by his or her service provider's or telephone an interactive voice 20 response system. Similar steps are commonly required to purchase and redeem mobile telephony credit or to pay bills for mobile telephony services. Commonly, the user is a customer of multiple service 25 providers (such as mobile telephony, fixed telecommunications, banking and utilities), so may wish to access multiple accounts via the aforementioned channels, a separate channel being provided by each service provider and - in some cases - class of service. 30 Consequently, users that wish to view all their service provider bills, view all their respective service account balances or settle these accounts must generally employ multiple channels (including web sites, interactive voice 35 response systems and call centres) as they have service providers (which in any event is contingent on each service provider's providing such functionality). If - 3 online, the user must leave his or her homepage and either use other transaction technologies (e.g. phone, SMS) or visit external (non-homepage) websites to effect the desired transaction. 5 Summary of the Invention According to a first broad aspect of the present invention, therefore, there is provided a data access system for accessing data on an external computing system 10 via a host computing system, comprising: a registrable application, adapted to be registrable with the host computing system as a registered application; a rendering engine for rendering a display of the 15 host computing system in a manner compatible with the host computing system; a controller adapted to retrieve user data pertaining to users of the host computing system from the host computing system (typically via the registrable 20 application), to pass the user data to a user database and to control the rendering engine; and a transaction management layer for mediating data transfer between the controller and one or more external computing systems. 25 In a particular embodiment, the user data is stored on the host computing system in the form of user profiles. In a particular embodiment, the controller constitutes the 30 registrable application, and hence is registrable with the host computing system as a registered application and adapted to retrieve the user data from the host computing system and pass the user data to the user database. 35 It will be appreciated by those skilled in the art that each of the components of the system may be provided as software, hardware or firmware, or as a combination of - 4 these. In addition, a component - such as the controller - may itself be provided as a plurality of modules. Furthermore, the system may comprise a hardware system running applications that provide or constitute the 5 features of the system, or as software executed or executable on a computing system. It should also be noted that the various components of the system may be distributed, including by being located in a plurality of countries. 10 The user database may be initially unpopulated. The user database may initially comprise only the software for maintaining the user data that will subsequently populate the user database. 15 The display of the host computing system generally comprises a display of a user computer of a user of the host computing system, such as a personal computer with an internet browser used to access a remote website provide 20 by the host computing system. The host computing system typically has an interface that, in some embodiments, allows users to interact with each other. 25 The controller may initiate data transfer between the controller and one or more external computing systems based on the user data. 30 Also, the user data of the host computing system pertaining to a plurality of users of the host computing system may be linked, such as by including in one or more sets of user data links to one or more other sets of user data. 35 For instance, in an embodiment, the user data is linked so that a user can view user data of another user, or in - 5 another embodiment, the user data is linked so that a user can initiate a transaction relating to another user. In one particular embodiment, the system is operable by a 5 user of the host computing system to conduct transactions with the external computing system according to at least some of the user data. The host computing system typically provides the 10 aforementioned functionality in the form of a Web 2.0 Application or a social networking website where the interface is a web based interface which is accessed via the internet, and links are provided between users' profiles, categorised by some predicate (e.g. user A is a 15 "friend of" user B). Examples of host computing systems are the FaceBook (trade mark) and Myspace (trade mark), websites, in which the interface is an HTML based interface accessed via the internet, applications - such as that provided by the system of this aspect of the 20 invention - can be registered with the main site by registering them through the FaceBook or Myspace site and, once registered, can render information to the interface using a custom mark-up language called (in the case of FaceBook) FBML. An application that is registered in, for 25 example, FaceBook is assigned an application key and a secret key that the application can use to access user information, and the location of the application (such as in the form of a URL) is passed to the registering application (in this example, FaceBook) so that the 30 registered application can be found. Hence, applications, such as that according to the present invention, can access information from the user profile using a custom REST based API. 35 According to this invention, therefore, service provider transaction functionality can be provided within a user's chosen social networking site such as FaceBook or Myspace, - 6 so that the user can manage their accounts while continuing with their social networking and other activities, without using other transaction technologies or leaving their primary sites. 5 Interest and registered users of social networking websites and other Web 2.0 sites are growing at a rapid rate. These social networking and personal expression websites are particularly popular with youth as a way of 10 expressing themselves, sharing their personal lives in a controlled manner with their friends and family, and making new friends. Many users visit these sites several and in some cases many times a day, and regularly update their content with pictures, videos, blogs, opinions and 15 so forth. Many users actually use these web sites as their homepages and point of presence on the Internet. Though not exclusively, youths are also significant users of mobile phone services, and many of these youths are 20 users of prepaid mobile services, although the proposed invention is equally applicable to postpaid mobile phone subscribers, fixed and mobile broadband subscribers, fixed line subscribers, cable and satellite pay TV subscribers, and subscribers of more than one of these 25 telecommunications services, where they consume these services and either pay for them as they go or pay for them in arrears. This concept can also be extended to financial services and utilities for presenting billing, invoicing and customer alerts directly to the personal 30 online space of their customers. In particular, many youths spend an increasing amount of time on these Web 2.0 or social networking sites; various embodiments of the present invention allow such users to 35 gain access to their mobile phone account balances, to top-up these accounts, to give credit to friends and to purchase credit, without leaving their personal web pages.
- 7 This is more convenient, more efficient and compatible with the entire concept of having their own personal space on the Internet, and compatible with the types of social interactions which occur on these types of sites 5 especially sending each other gifts (which in the case of mobile services can be applying credit from your account to that of a friend). According to the present invention, such balance enquiry, 10 balance top-up, bill payment and voucher purchase functionality becomes in effect another application that a subscriber on the relevant social network site can add to their profile and can share with friends. 15 For example, in Facebook, a balance enquiry and top-up application is presented - according to one embodiment of the present invention - as a box that is added to a user's profile. According to this embodiment, the user can - in effect - use the website to tunnel into the relevant 20 service provider's back-office (e.g. customer relationship management, billing, payments gateway or network elements) to retrieve the relevant balance information or to apply a payment to a specified account. In this embodiment, giving credit (i.e. by one user to another) essentially 25 comprising a withdrawal from one user's account and a deposit into another user's account. This tunnelling involves traversing the relevant service provider's security infrastructure and connecting to the relevant back-office system or systems. 30 The system can carry out the necessary messaging, protocol conversion, data formatting (bi-directional) and so forth to ensure that the relevant front-end (Web 2.0 application or social networking site) does not have to understand the 35 idiosyncrasies of the specific service provider's back-end systems, or the specifics of the communication mechanism, while still being able to access these back-end systems - 8 and to transact with them. According to a second broad aspect of the present invention, there is provided a data access method for 5 accessing data on an external computing system via a host computing system, comprising: registering a registrable application with the host computing system; retrieving user data from the host computing 10 system with a controller; passing user data from the controller to a user database; controlling a rendering engine configured to render a display of the host computing system in a manner 15 compatible with the host computing system with the controller; and mediating data transfer between the controller and one or more external computing systems with a transaction management layer. 20 In a particular embodiment, the method can be performed by a user of the host computing system to conduct transactions with the external computing system according to at least some of the user data. 25 According to a third broad aspect of the present invention, there is provided a computer program product for accessing data on an external computing system via a host computing system, comprising: 30 a registrable application, adapted to be registrable with the host computing system as a registered application; a rendering engine for rendering a display of the host computing system in a manner compatible with the host 35 computing system; a controller adapted to retrieve user data pertaining to users of the host computing system from the - 9 host computing system, to pass the user data to a user database and to control the rendering engine; and a transaction management layer for mediating data transfer between the controller and one or more external 5 computing systems. In a particular embodiment, the product can be used by a user of the host computing system to conduct transactions with the external computing system according to at least 10 some of the user data. Brief Description of the Drawing In order that the invention may be more clearly ascertained, embodiments will now be described, by way of 15 example, with reference to the accompanying drawing, in which: Figure 1 is a schematic view of the physical architecture of a computing system according to an embodiment of the present invention, shown with a user 20 computer and external systems; Figure 2 is a schematic view of the functional architecture of the computing system of figure 1, shown with the user computer and the external systems; Figure 3 is a schematic view of an example of the 25 computing system of figure 1, in which the social networking site comprises FaceBook; Figure 4 tabulates the various functions provided by the controller, transaction management layer, rendering engine and user database of the computing system of figure 30 1; Figure 5 tabulates the various functions provided by an exemplary mobile telephony application (termed the 'MyMobile Application') and their interaction with the rendering application of the computing system of figure 1; 35 Figures 6 to 9 are screen mockups of the MyMobile Application as hosted by FaceBook.
- 10 Detailed Description Figure 1 is a schematic view of the physical architecture of a computing system 10 according to an embodiment of the present invention, comprising a host computing system in 5 the form of a website server 12 (providing with a social networking site, discussed below) and a data access and rendering system 14; figure 1 also illustrates a user computer 16 of a user of site 32 and a plurality of external back-end systems 18. A user or users interact 10 with site 32 via a web browser (not shown) running on user computer 16, which downloads and displays the website of site 32. Data access and rendering system 14 includes a server 20 15 (that includes a controller and rendering engine, discussed below), a user database server 22 (that includes a user database, discussed below), and a transaction management layer server 24 (that includes a transaction management layer, discussed below). Transaction 20 management layer server 24 also implements a firewall 26 to provide security between data access and rendering system 14 and external back-end systems 18. External back-end systems 18 are typically systems that, 25 in existing systems, support online billing, account enquiry and the like transactions, via the websites (or call centre operators, etc) of the owners of those back end systems 18. Briefly, data access and rendering system 14 makes it possible for the user of site 32 to access 30 data on, and conduct transactions with, external back-end systems 18 without using the websites (or call centres, etc) of the owners of those back-end systems 18. Figure 2 is a schematic view of the functional 35 architecture 30 of computing system 10, shown with user computer 16 and back-end systems 18. Architecture 30 includes - on website server 12 - a social networking site - 11 32 hosting users via website 34 (for example, users may access site 32 using the website 34). Site 32 comprises user data 36 (including user profile data 38, such as the user's name, age and location, and friend data 40 about a 5 user's nominated friends). Site 32 includes a data interface 42 in the form of a language API or web service interface to provide access to user profile data 38 and friend data 40. 10 According to this embodiment, site 32 also includes a visual application interface 44 that enables applications to be embedded in web site 34 using, for example, HTML or a language API. 15 Server 20 of data access and rendering system 14 includes a rendering engine 46 that renders the desired information into site 32, and a controller 48 that drives rendering engine 46 and hence the rendered view. Controller 48 is registrable with site 32 and, once so registered, acquires 20 information about the user from site 32 (via data interface 42) and supplies instructions to rendering engine 46 accordingly. User database server 22 of data access and rendering system 14 includes a user database 50 of user data that includes system data 52 and access rules 25 54; access rules 54 specify what kind of information should be displayed to the user. For example, a user may specify that only friends who belong to a specific networking group can view call details (comprising minutes spent talking) to other members of that group. Controller 30 48 applies access rules 54 to profile data 38 and friend data 40 (received via data interface 42) to ensure that the information acquired from the back-end systems 18 via transaction management layer 56, which is to be provided to rendering engine 46, is appropriate to the current 35 view. Transaction management layer server 24 of data access and - 12 rendering system 14 includes a transaction management layer 56 that incorporates a set of business rules for accessing information in external back-end systems 18 (which are third party systems related to respective 5 services to which access is provided according to this embodiment). Data access and rendering system 14 is configured to receive and capture from external back-end systems 18 information specific to each respective back end system 18, such as a user's mobile number. Data 10 access and rendering system 14 is configured to store that information in user database 50, and associate it with the user's profile data 38 received from site 32. Transaction management layer 56 provides a consistent interface for performing potentially complex business transactions 15 involving external back-end systems 18. For example, topping up a mobile telephony account may involve validating a credit voucher on one external back-end system 18, adding credit to an account on another external back-end system 18, and activating the phone service on 20 another external back-end system 18. In one specific example of computing system 10, site 32 comprises the FaceBook (trade mark) web site. Figure 3 is thus a schematic view of the architecture 60 of a 25 computing system with an architecture comparable to the architecture 30 of computing system 10 (see figure 2), so like reference numerals have been used to identify like features. 30 FaceBook provides a web site which users can access to share information with their friends. It enables users to embed third party applications. Referring to figure 2, FaceBook site 32 includes a FaceBook API 42 that provides access to a user's profile data 38 and friend's data 24 if 35 the users have added the application. The FaceBook Markup Language (FBML) 44 supported by - 13 FaceBook site 32 enables an application to embed its view inside the FaceBook platform. Hence, data access and rendering system 14 - in this example - includes a Flex application 46 (comprising a rich internet application 5 created in Flex (trade mark)) that provides users with a highly interactive application that can be used to access data about, in this example, the users' mobile phone account. 10 Data access and rendering system 14 includes a PHP application 48 that drives the integration of the Flex application 46 with FaceBook site 32. PHP application 48 acquires the appropriate user information via FaceBook API 42 and provides it to the view layer (i.e. Flex 15 application 46) and transaction management layer 56. Transaction management layer 56, in this example, is implemented using the Business Process Execution Language (BPEL), and BPEL transaction management layer 56 contains a set of processes that wrap a complex set of interactions 20 with various back-end systems 18. In this example, back end systems 18 include an online billing system 62, an offline billing system 64, a voucher management system 66 and a provisioning system 68. 25 Accordingly, the system structure has a number of advantages including that: a user can access a number of different external systems through a single interface in real-time or near real-time such that transactions can be performed on the external systems; the user's details 30 for accessing the external systems are kept separate to user details for the host system and the user can selectively allow access to the (or parts of the) external systems to other users without providing the other users with access details for the external systems. 35 Figure 4 tabulates at 70 the various functions provided by controller 48, transaction management layer 56, rendering - 14 engine 46 and user database 50 (and hence, in the example of figure 3, PHP controller application 48, BPEL transaction management layer 56, Flex application 46 and user database 50. 5 Thus, referring to figure 4, controller 48 function Add Application is used to add an application to the user's profile data 38 (upon the request of the user of site 32), and calls functions Validate Application and Register. 10 Controller 48 function View Profile is triggered when a user views a user's profile data 38 when data access and rendering system 14 has added an application. Controller 48 then determines which view to render based on which 15 profile is being viewed and which user is viewing, employing or calling functions View Own Profile and View Friend's Profile. Controller 48 function View Main is triggered when a user 20 views the main page of an added application. Controller 48 determines which view to render based on the registration status of the user, employing or calling functions Validate Application and View Main of controller 48 and Render Register of rendering engine 46. 25 Controller 48 function Do Action enables a user to perform a system specific action. Such actions depend on the specific application and back-end system(s) 18 being called. 30 Controller 48 function Remove Application allows site 32 (and by extension the user) to remove an application from a user's profile. 35 Controller 48 function Validate Application is adapted to use a site specific mechanism to authenticate with the host site in order to verify the identity of the - 15 application. Controller 48 function Register is employed when controller 48 receives information from the rendered 5 register view (with function Render Register of rendering engine 46) and validates the application (with function Validate Application of controller 48); Register then adds system data 52 and access rules 54 to the user database 50. This function optionally includes extended 10 functionality to validate user data 36 in an application specific way (see functional description of MyMobile example below for further details). Controller 48 function View Own Profile prompts controller 15 48 to validate with site 32 (with function Validate Application) and acquire user data 36 from site 32 before invoking an implementation specific action (with function Invoke Action). A combination of the results and acquired data is then sent to rendering engine 46 via function 20 Render Own Profile (see the functional breakdown of the exemplary MyMobile Application below for an example). Controller 48 function View Friend's Profile is used when controller 48 validates with site 32 (with function 25 Validate Application) and acquires user data 36 and friend data 40 from site 32. View Friend's Profile then acquires access rules 54 (with function Get Access Rule) from user database 50 and applies the access rules 54 (with function Apply Access Rules) before invoking an implementation 30 specific action (with function Invoke Action). A combination of the results and acquired data is then sent to rendering engine 46 with function Render Friends Profile (see the functional breakdown of the exemplary MyMobile Application below). 35 Controller 48 function View Main is used when controller 48 validates with site 32 (with function Validate - 16 Application) and acquires user data 36 from site 32. One or more implantation specific actions are invoked (with function Invoke Action) and a combination of the results and acquired data is sent to rendering engine 46 with 5 function Render Main. Controller 48 function View All Friends prompts controller 48 to validate with site 32 (with function Validate Application) and acquire user data 36 and friend data 40 10 from site 32. For each friend who has Data access and rendering system 14, controller 48 acquires (with function Get Access Rule) and applies (with function Apply Access Rules) access rules 54 before invoking an implementation specific action (with function Invoke Action). A 15 combination of the results and acquired data is then sent to rendering engine 46 with function Render All Friends (see the functional breakdown of the exemplary MyMobile Application below). 20 Controller 48 function View Application Specific is used by controller 48 to validate with site 32 (with function Validate Application) and acquires user data from the host site 32 before invoking one or more implementation specific actions (with function Invoke Action). A 25 combination of the results and acquired data is then sent to rendering engine 46 via rendering engine 46 Render Application Specific (see the functional breakdown of the exemplary MyMobile Application below). 30 Controller 48 function Alter Data is employed when controller 48 receives new user details from rendering engine 46 via function Change View. Controller 48 uses this input to alter the system data (with functions Add System Data, Change System Data and Delete System Data) 35 and access rules 54 (with functions Add Access Rule, Change Access Rule and Delete Access Rule).
- 17 Controller 48 function Apply Access Rule is used when controller 48 finds any access rules 54 that match the user who is requesting the data view and grants or denies access to the data based on these rules. 5 Controller 48 function Invoke Action controls controller 48 to acquire system data 52 (with function Get System Data) and then invokes an application specific action via transaction management layer 56 with transaction 10 management layer 56 function Invoke Action. Rendering Engine 46 function Render Main uses a rendering API of site 32, as well as data provided from controller 48, to render a main application view within site 32. 15 Rendering Engine 46 function Render Register is employed when rendering engine 46 uses the rendering API of site 32 to render a view for taking registration information from the user; this information may include authentication 20 information for back-end systems 44 or details about how friends can access their data. It is application specific. Rendering Engine 46 function Render Own Profile is used 25 when rendering engine 46 uses the rendering API of site 32 to render a view displaying a user's own profile information. Rendering Engine 46 function Render Friends Profile uses 30 the rendering API of site 32 to render a view displaying a friend's profile information. Rendering Engine 46 function Render All Friends uses the rendering API of site 32 to render a main view displaying 35 details about a user's friends. Rendering Engine 46 function Render Application Specific* - 18 uses the rendering API of site 32 to render a view displaying some application specific information (see functional breakdown of exemplary MyMobile Application for an example). 5 Rendering Engine 46 function Render Change View uses the rendering API of site 32 to render a view requesting information about access rules 54 and system data 52, and then invokes controller 48 function Alter User Data to set 10 these values. Rendering Engine 46 function Render Logo is an internal function for rendering the logo using the rendering API of site 32. This segregation enables branding to be changed 15 quickly and easily. Rendering Engine 46 function Render Advertising is also an internal function, and rendering advertisements using the rendering API of site 32. This segregation enables 20 advertising to be changed quickly and easily. User Database 50 function Add System Data is used by user database 50 to store a new record linking a user to data about their accounts on back-end system 18. 25 User Database 50 function Change System Data is used by user database 50 to alter a record linking a user to data about their accounts on back-end system 18. 30 User Database 50 function Get System Data is used by user database 50 to retrieve a set of records linking a user to data about their accounts on back-end systems 18. User Database 50 function Delete System Data is used by 35 user database 50 to remove a record linking a user to data about their accounts on back-end systems 18.
- 19 User Database 50 function Add Access Rule is used by user database 50 to store a new record defining the access allowed for different friends or groups of friends. 5 User Database 50 function Change Access Rule is used by user database 50 to alter a record defining the access allowed for different friends and groups of friends. User Database 50 function Get Access Rule is used by user 10 database 50 to retrieve a set of records defining the access allowed for different friends or groups of friends. User Database 50 function Delete Access Rule is used by user database 50 to remove a record defining the access 15 allowed for different friends or groups of friends. Transaction management layer 56 function Invoke Action I used by transaction management layer 56 to invoke an application specific action (see functional breakdown of 20 exemplary MyMobile Application for an example). In one example, Data access and rendering system 14 can be used to add an application to site 32 for accessing and modifying a mobile telephony account; this exemplary 25 application is termed the 'MyMobile Application', and is designed to be added to FaceBook (cf. figure 3). Figure 5 tabulates at 80 the various functions provided by the MyMobile Application. 30 Controller 48 function Add application: controller 48 enables FaceBook (and by extension the user) to add the application to a user's profile, by calling functions Validate Application and Render Register. 35 Controller 48 function View Profile: controller 48 is triggered when a user views a user profile with the application added. The controller 48 then determines - 20 which view to render: if a user is viewing their own profile the View Own Profile function is called, and if a user is viewing someone another user's profile the View Friends Profile function is called. 5 Controller 48 function View Main: controller 48 is triggered when a user views the applications main page. After validating (with function Validate Application) and acquiring the user ID from FaceBook, controller 48 10 determines which view to render based on the registration status of the user. If the user is registered, the user calls function View Main Page or otherwise function Render Register. 15 Controller 48 function Get Current Balance: controller 48 acquires the user's MSISDN and account data (with function Get System Data) and invokes the Get Current Balance function in transaction management layer 56. 20 Controller 48 function Get Current Balance Summary: controller 48 acquires the user's MSISDN and account data (with function Get System Data) and invokes the Get Current Balance Summary function in transaction management layer 56. 25 Controller 48 function Top Up: controller 48 acquires the user's MSISDN and account data (with function Get System Data) and invokes the Top Up function in transaction management layer 56. 30 Controller 48 function Gift Credit: controller 48 acquires the initiating and receiving user's MSISDN and account data (with function Get System Data) and invokes the Gift Credit function in the transaction management layer 56. 35 Controller 48 function Get Usage History: controller 48 acquires the user's MSISDN and account data (with function - 21 Get System Data) and invokes the Get Usage History function in transaction management layer 56. Controller 48 function Remove Application: controller 48 5 uses the FaceBook API 42 to remove the application from the user's profile data 38. Controller 48 function Validate Application: controller 48 uses FaceBook's application key and an encrypted 10 application secret key to authenticate with FaceBook in order to verify the identity of the application. Controller 48 function Register: controller 48 receives information from the Render Register function and 15 validates that information either by sending a code via SMS to the user's MSISDN, or be asking the user to enter a validation PIN used to enter the mobile vendors website. In the case of SMS validation, the user is referred back to the register view (with function Render Register) where 20 he or she must enter this code to proceed. Once either code is confirmed controller 48 adds access rules 54 (with function Add Access Rule) and system data 38 (with function Add System Data). 25 Controller 48 function View Own Profile: controller 48 validates with the host site 32 (with function Validate Application) and acquires user data from site 32, which it uses as input to the Get Current Balance function. The user data and the result of the Get Current Balance 30 function are then sent to rendering engine 46 with rendering engine 46 function Render Own Profile. Controller 48 function View Friends Profile: controller 48 validates with site 32 (with function Validate 35 Application) and acquires user data 36 and friend data 34 from site 32. It then applies access rules 54 (with function Apply Access Rule) to determine what information - 22 the logged-in user is able to view. The user may be able to view no information, balance summary, or balance details. If the user is authorized to view balance information, controller 48 calls the Get Current Balance 5 function. If the user is authorized to see only a balance summary, controller 48 calls the function Get Current Balance Summary. This data is then sent to rendering engine 46 with function Render Friends Profile. 10 Controller 48 function View Main Page: controller 48 determines which of the main screens the user is viewing (via information passed by the navigation buttons) and invokes the View Front Page, View All Friends, View Top Up, View Gift or View Statement controller functions. 15 Controller 48 function View Front Page: controller 48 validates with site 32 (with function Validate Application) and acquires user data 36 from site 32. It then invokes the Get Current Balance function. The user 20 data 36 and results of this function are sent to the rendering engine 46 via function Render Main. Controller 48 function View All Friends: controller 48 validates with the host site 32 (with function Validate 25 Application) and acquires user and friend data from the host site. For each friend who has the application added the system applies the access rules 54 (with function Apply Access Rule). For each friend where the user is authorized to see the balance summary the Get Current 30 Balance Summary function is invoked. The results of these queries are then combined with the user data 36 and sent to the rendering engine 46 via function Render All Friends. 35 Controller 48 function View Top Up: controller 48 validates with the host site 32 (with function Validate Application) and acquires user data 36 from the host site - 23 32. It then invokes the Get Current Balance function. The user data 36 and results of this function are sent to the rendering engine 46 via function Render Top Up. 5 Controller 48 function View Gifting: controller 48 validates with the host site 32 (with function Validate Application) and acquires user data 36 from the host site 32. The user data 36 is sent to the rendering engine 46 via function Render Gifting. 10 Controller 48 function View Statement: controller 48 validates with the host site 32 (with function Validate Application) and acquires user data 36 from the host site 32. It then invokes the Get Usage History function. The 15 user data 32 and results of this function are sent to the rendering engine 46 via function Render Statement. Controller 48 function Alter Data: controller 48 receives new user details from the rendering engine 46 via the 20 function Render Change View. It uses this input to alter the system data 52 (via User database 50 function Add System Data, User database 50 function Change System Data, User database 50 function Delete System Data) and access rules 54 (via User database 50 function Add Access Rule, 25 User database 50 function Change Access Rule, User database 50 function Delete Access Rule). Controller 48 function Apply Access Rule: controller 48 finds any access rules 54 (with User database 50 function 30 Get Access Rule) that match the user who is requesting the data view and grants or denies access to the data based on these rules (see MyMobile Access Rules for details). Rendering engine 46 function Render Main: rendering engine 35 46 uses the host site's rendering API 42 and data provided from the controller 48 to render a main application view which contains a user's balance, advertisements and vendor - 24 logos as well as a panel of buttons which provide more options (Add Credit, Statement, My Friends). Rendering engine 46 function Render Register: rendering 5 engine 46 uses the host site's rendering API 42 to render a view for taking registration information (MSISDN and account number) from the user. It also enables users to create specific access rules for their friends or use the default access rules. 10 Rendering engine 46 function Render Own Profile: rendering engine 46 uses the host site's rendering API 42 to render a view displaying a user's own profile information: MSISDN, balance, as well as advertising and the vendors 15 logo. Rendering engine 46 function Render Friends Profile: rendering engine 46 uses FaceBook's rendering API 42 to render a view displaying a friends profile information 20 which contains an indication the user's balance summary (tick for "has credit", cross for "does not have credit"), as well as the option to gift (give) credit to a friend who currently does not have credit. 25 Rendering engine 46 function Render All Friends: rendering engine 46 uses FaceBook's rendering API 42 to render a main view displaying details about a user's friends. This contains a list of friends with a balance summary (tick for "has credit", cross for "does not have credit") for 30 each, as well as the option to gift (give) credit to a friend who currently does not have credit. It also includes the same advertising, logos and navigation buttons found on the main page (see Render Main function above). 35 Rendering engine 46 function Render Top Up: rendering engine 46 uses FaceBook's rendering API 42 to render a - 25 view displaying the user's current balance and options for topping up a mobile phone account via a pre-purchased voucher or by purchasing credit online. It also includes the same advertising, logos and navigation buttons found 5 on the main page (see Render Main function above). Rendering engine 46 function Render Gifting: rendering engine 46 uses FaceBook's rendering API 42 to render a view displaying a friends balance summary (tick or cross) 10 and the ability to gift credit in to various parts of the user's balance (i.e. give them credit for SMS, for calls, or for data). It also includes the same advertising, logos and navigation buttons found on the main page (see Render Main function above). 15 Rendering engine 46 function Render Statement: rendering engine 46 uses FaceBook's rendering API 42 to render a view displaying a list of a user's recent call history. 20 Rendering engine 46 function Render Change View: rendering engine 46 uses FaceBook's rendering API 42 to render a view where user's can enter information about access rules and system data and then invokes function Alter Data to set these values. 25 Rendering engine 46 function Render Logo is an internal function to render the logo using host site's rendering API 42. This segregation enables branding to be changed quickly and easily. 30 Rendering engine 46 function Render Advertising is an internal function to render advertisements using host site's rendering API 42. This segregation enables advertising to be changed quickly and easily. 35 User database 50 function Add System Data: user database 50 stores a new record linking a user to data about their - 26 accounts on the back-end system 18. User database 50 function Change System Data: user database 50 alters a record linking a user to data about 5 their accounts on the back-end system 18. User database 50 function Get System Data: user database 50 retrieves a set of records linking a user to data about their accounts on the back-end system 18. 10 User database 50 function Delete System Data: user database 50 removes a record linking a user to data about their accounts on the back-end system 18. 15 User database 50 function Add Access Rule: user database 50 stores a new record defining the access allowed for different friends or groups of friends. User database 50 function Change Access Rule: user 20 database 50 alters a record defining the access allowed for different friends and groups of friends. User database 50 function Get Access Rule: user database 50 retrieves a set of records defining the access allowed 25 for different friends or groups of friends. User database 50 function Delete Access Rule: user database 50 removes a record defining the access allowed for different friends or groups of friends. 30 Transaction management layer 56 function Get Current Balance: transaction management layer 56 calls the online billing system 62 to acquire a user's current balance. It returns this balance. 35 Transaction management layer 56 function Get Current Balance Summary: transaction management layer 56 calls the - 27 online billing system 62 to acquire a user's current balance. If the value is larger than 0 it returns true otherwise it returns false. 5 Transaction management layer 56 function Top Up - The transaction management layer 56 calls the voucher management system 66 to validate the voucher details entered by the user. If the voucher is valid the system calls the activation system to ensure the user's service 10 is active, it then calls the online billing system 62 to set expiry date for the credit, it then applies the top up to the online and offline billing systems (62, 64). Transaction management layer 56 function Gift Credit: 15 transaction management layer 56 calls the online and offline billing systems (62, 64) to adjust the balance of the user giving the gift by subtracting the gifted amount. The transaction management layer 56 calls the online and offline billing systems (62, 64) to adjust the balance of 20 the user receiving the gift by adding the gifted amount to the appropriate buckets. Transaction management layer 56 function Get Usage History: transaction management layer 56 calls the online 25 billing system 62 to acquire recent usage history. MyMobile access rules are constrained by the information made available to an application by the host site 32. The MyMobile application used in several examples is hosted by 30 FaceBook and thus the access rules 54 for MyMobile are constrained by the FaceBook API. MyMobile access rules 54 are used to grant access; if no matching rule is found access is denied. Rules 54 are 35 given a type: Group: Either Friends or Anyone; Friends are people added to your FaceBook profile.
- 28 Individual: A specific FaceBook user can be granted different rights; only applies to individuals who are added as friends. Network: People that belong to a specific 5 network; only applies to people that belong to the network who are also added as friends. Individual rules take precedence over network rules which take precedence over group rules. 10 Example Rules Data: Rules View Type Applies To MSISDN Balance Balance Summary Group Anyone No (cannot No (cannot No be changed) be changed) Group Friends No No Yes Individual JohnDoe Yes Yes Yes Individual JaneDoe Yes Yes Yes Network CompanyNetwork Yes No No Figures 6 to 9 are screen mockups of the operation of the 15 MyMobile Application as hosted by FaceBook. Referring to figure 6, the upper register of the figure comprises the view 90 from the FaceBook profile box showing a user's balance. Clicking the "More" button 92 prompts the opening of the main view 94 (in the lower register of the 20 figure), that is, the view 94 from the MyMobile Application's main page in FaceBook. Navigation buttons in the left hand menu 96 enable users to perform various actions. 25 Referring to figure 7, the upper register of the figure comprises again the view 94 from the main page (see figure 6), from which the user can navigate to various screens. For example, the My Friends view 98 shows a list of - 29 friends who have the MyMobile application added; for each friend a summary of their balance is provided (if the access rules allow it). If a friend has no credit they can be given credit (by using the "Give Credit" button 5 100). Thus, advantageously, a user can allow selected other users to view a status, such as a credit balance and/or modify a balance. The former has a practical advantage to users of prepaid services, for example, in that they can automatically advertise to their friends 10 that they have no credit and hence cannot use the prepaid service. If the "Statement" button 102 is clicked, detailed account information 104, showing call history and cost, is 15 displayed; this view also enables a user to pay any outstanding bill, initiated by click on the "Pay Now" button 106. Accordingly, it is possible to envisage a user giving another user (such as a parent) the ability to view and modify an account in a controlled way (e.g. deposits 20 only) without having to provide account details to the other user. In this way, the embodiment provides for controlled account access to other users. Referring to figure 8, clicking the "Give Credit" button 25 100 when viewing a friend's balance summary prompts view 108, and enables the user to give credit to another user. The gift can be spread across various "buckets" 110a, 110b, 110c corresponding - in this example - to Voice, SMS and Data use. In the illustrated example, the user is 30 shown as being about to give $4 to Voice and $5 to SMS, but nothing to Data use. Figure 9 illustrates the MyMobile Application 112 as hosted on FaceBook 114. As will be seen, the MyMobile 35 Application 112 appears to the user as integrated into FaceBook 114.
- 30 Modifications within the scope of the invention may be readily effected by those skilled in the art. It is to be understood, therefore, that this invention is not limited to the particular embodiments described by way of example 5 hereinabove. In the claims that follow and in the preceding description of the invention, except where the context requires otherwise owing to express language or necessary 10 implication, the word "comprise" or variations such as "comprises" or "comprising" is used in an inclusive sense, that is, to specify the presence of the stated features but not to preclude the presence or addition of further features in various embodiments of the invention. 15 Further, any reference herein to prior art is not intended to imply that such prior art forms or formed a part of the common general knowledge in Australia or any other country.

Claims (36)

1. A data access system for accessing data on an external computing system via a host computing system, comprising: 5 a registrable application, adapted to be registrable with the host computing system as a registered application; a rendering engine for rendering a display of the host computing system in a manner compatible with the host 10 computing system; a controller adapted to retrieve user data pertaining to users of the host computing system from the host computing system, to pass the user data to a user database and to control the rendering engine; and 15 a transaction management layer for mediating data transfer between the controller and one or more external computing systems.
2. A system as claimed in claim 1, wherein the user data 20 is stored on the host computing system in the form of user profiles.
3. A system as claimed in claims 1 or 2, wherein the controller constitutes the registrable application. 25
4. A system as claimed in any one of claims 1-3, wherein the user database may be initially unpopulated.
5. A system as claimed in any one of claims 1-4, wherein 30 the display of the host computing system comprises a display of a user computer of a user of the host computing system.
6. A system as claimed in any one of claims 1-5, wherein 35 the host computing system comprises an interface allowing users to interact with each other. - 32
7. A system as claimed in any one of claims 1-6, wherein the controller initiates data transfer between the controller and one or more external computing systems based on the user data. 5
8. A system as claimed in any one of claims 1-7, wherein the user data of the host computing system pertaining to a plurality of users of the host computing system is linked. 10
9. A system as claimed in claim 8, wherein the user data is linked so that a user can view user data of another user. 15
10. A system as claimed in claims 8 or 9, wherein the user data is linked so that a user can initiate a transaction relating to user data of another user.
11. A system as claimed in any one of the preceding 20 claims, wherein the system is operable by a user of the host computing system to conduct transactions with the external computing system according to at least some of the user data. 25
12. A system as claimed in any one of the preceding claims, wherein the host computing system is or provides a social networking website.
13. A data access method for accessing data on an 30 external computing system via a host computing system, comprising: registering a registrable application with the host computing system; retrieving user data from the host computing 35 system with a controller; passing user data from the controller to a user database; - 33 controlling a rendering engine configured to render a display of the host computing system in a manner compatible with the host computing system with the controller; and 5 mediating data transfer between the controller and one or more external computing systems with a transaction management layer.
14. A method as claimed in claim 13, wherein the user 10 data is stored on the host computing system in the form of user profiles.
15. A method as claimed in claims 13 or 14, including providing the registrable application as the controller. 15
16. A method as claimed in any one of claims 13-15, wherein the user database may be initially unpopulated.
17. A method as claimed in any one of claims 13-16, 20 wherein the display of the host computing system comprises a display of a user computer of a user of the host computing system.
18. A method as claimed in any one of claims 13-17, 25 wherein the host computing system comprises an interface allowing users to interact with each other.
19. A method as claimed in any one of claims 13-18, wherein the controller initiates data transfer between the 30 controller and one or more external computing systems based on the user data.
20. A method as claimed in any one of claims 13-19, wherein the user data of the host computing system 35 pertaining to a plurality of users of the host computing system is linked. - 34
21. A method as claimed in claim 20, wherein the user data is linked so that a user can view user data of another user. 5
22. A method as claimed in claims 20 or 21, wherein the user data is linked so that a user can initiate a transaction relating to user data of another user. 10
23. A method as claimed in any one of claims 13-22, wherein the method can be performed by a user of the host computing system to conduct transactions with the external computing system according to at least some of the user data. 15
24. A method as claimed in any one of claims 13-23, wherein the host computing system is or provides a social networking website. 20
25. A computer program product for accessing data on an external computing system via a host computing system, comprising: a registrable application, adapted to be registrable with the host computing system as a registered 25 application; a rendering engine for rendering a display of the host computing system in a manner compatible with the host computing system; a controller adapted to retrieve user data 30 pertaining to users of the host computing system from the host computing system, to pass the user data to a user database and to control the rendering engine; and a transaction management layer for mediating data transfer between the controller and one or more external 35 computing systems.
26. A product as claimed in claim 25, wherein the user - 35 data is stored on the host computing system in the form of user profiles.
27. A product as claimed in claims 25 or 26, wherein the 5 controller constitutes the registrable application.
28. A product as claimed in any one of claims 25-27, wherein the user database may be initially unpopulated. 10
29. A product as claimed in any one of claims 25-28, wherein the display of the host computing system comprises a display of a user computer of a user of the host computing system. 15
30. A product as claimed in any one of claims 25-29, wherein the host computing system comprises an interface allowing users to interact with each other.
31. A product as claimed in any one of claims 25-30, 20 wherein the controller initiates data transfer between the controller and one or more external computing systems based on the user data.
32. A product as claimed in any one of claims 25-31, 25 wherein the user data of the host computing system pertaining to a plurality of users of the host computing system is linked.
33. A product as claimed in claim 32, wherein the user 30 data is linked so that a user can view user data of another user.
34. A product as claimed in claims 32 or 33, wherein the user data is linked so that a user can initiate a 35 transaction relating to user data of another user.
35. A product as claimed in any one of claims 25-34, - 36 wherein the product can be used by a user of the host computing system to conduct transactions with the external computing system according to at least some of the user data. 5
36. A product as claimed in any one of claims 25-35, wherein the host computing system is or provides a social networking website. 10
AU2009200895A 2008-03-07 2009-03-06 Data access system and method Ceased AU2009200895B9 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
AU2009200895A AU2009200895B9 (en) 2008-03-07 2009-03-06 Data access system and method
AU2012100813A AU2012100813B9 (en) 2008-03-07 2012-05-31 Data access method
AU2012100812A AU2012100812B9 (en) 2008-03-07 2012-05-31 Data access system
AU2012261789A AU2012261789B2 (en) 2008-03-07 2012-12-17 Data access system and method
AU2017200711A AU2017200711B2 (en) 2008-03-07 2017-02-02 Data access system and method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
AU2008901118 2008-03-07
AU2008901118A AU2008901118A0 (en) 2008-03-07 Data access system and method
AU2009200895A AU2009200895B9 (en) 2008-03-07 2009-03-06 Data access system and method

Related Child Applications (3)

Application Number Title Priority Date Filing Date
AU2012100812A Division AU2012100812B9 (en) 2008-03-07 2012-05-31 Data access system
AU2012100813A Division AU2012100813B9 (en) 2008-03-07 2012-05-31 Data access method
AU2012261789A Division AU2012261789B2 (en) 2008-03-07 2012-12-17 Data access system and method

Publications (3)

Publication Number Publication Date
AU2009200895A1 true AU2009200895A1 (en) 2009-09-24
AU2009200895B2 AU2009200895B2 (en) 2012-09-20
AU2009200895B9 AU2009200895B9 (en) 2016-09-08

Family

ID=

Also Published As

Publication number Publication date
AU2012100813A4 (en) 2012-06-28
AU2012100812A4 (en) 2012-06-28
AU2012100812B4 (en) 2012-11-08
AU2009200895B2 (en) 2012-09-20
AU2012100813B4 (en) 2012-11-08

Similar Documents

Publication Publication Date Title
US10922689B2 (en) Payment system and method
USRE43715E1 (en) System and method for integrating public and private data
US20120296823A1 (en) Content owner verification and digital rights management for automated distribution and billing platforms
US20020046279A1 (en) Methods and systems for call processing utilizing a uniform resource locator
AU2001271596A1 (en) System and method for integrating public and private data
US20090248533A1 (en) Systems and methods for conducting transactions
US20120330737A1 (en) Disruptively priced or free financial services or items in exchange for participation in opt in advertising
KR100788507B1 (en) The payment method using mobile phone without authentification in website
WO2013009446A1 (en) Disruptively priced or free financial services or items in exchange for participation in opt in advertising
CN1750568B (en) Data service control system and control network and service control method
WO2013166174A1 (en) Disruptively priced or free financial services or items in exchange for participation in opt in advertising
AU2017200711B2 (en) Data access system and method
AU2012100813B4 (en) Data access method
AU2012100812B9 (en) Data access system
AU2012100813B9 (en) Data access method
AU2009200895B9 (en) Data access system and method
AU2013100202B4 (en) Data access system and method
US8554651B2 (en) Method and arrangement for transaction processing in connection with mobile telecommunication
US20080015872A1 (en) Method of providing software and a service using the software
KR20240003068A (en) Open-deal system and method
WO2008051982A2 (en) Content owner verification and digital rights management for automated distribution and billing platforms
KR20130007680A (en) Method, system, server, mobile terminal, and recording medium for sharing kwac application
WO2001086382A2 (en) Methods and systems for call processing utilizing a uniform resource locator
CA2627701A1 (en) Systems and methods for conducting transactions
AU2008201489A1 (en) Systems and methods for conducting transactions

Legal Events

Date Code Title Description
FGA Letters patent sealed or granted (standard patent)
GD Licence registered

Name of requester: TELSTRA CORPORATION LIMITED

SREP Specification republished
MK14 Patent ceased section 143(a) (annual fees not paid) or expired