systems and methods for providing goods and services from one or more service providers to consumers, such as multiple dwelling unit (mdu) tenants are provided. In a first aspect, the invention provides a system for facilitating the provision of goods and services to a tenant of an mdu operated by an mdu operator. In one implementation, the system of the invention comprises at least one service provider that is configured to provide goods and services; an mdu tenant interface configured to communicate mdu tenant requests for goods and services to one of the mdu operator and the service provider; and a coordinating site configured to provide a provision interface operably connected to the service provider and the mdu tenant interface.
|
8. A method for transacting services between one or more providers of goods and/or services and a multiple dwelling unit (mdu) tenant using at least one computing system configured to interface with an mdu operator, comprising:
providing an mdu tenant interface configured to communicate mdu tenant requests for goods and/or services to a provider;
providing a coordinating computer to coordinate the provision of at least one aspect of said goods and/or services between said provider and said mdu tenant, and
using said coordinating computer to (a) provide at least one logical interface with said provider that enables the mdu operator to provide billing services on behalf of said provider, (b) at least in part handle provision events, and (c) translate provision events and post billing information to enable the mdu operator to bill mdu tenants, whereby the mdu operator collects fees from mdu tenants and divides fees with the provider.
1. A system for facilitating the provision of goods and/or services to at least one tenant occupying a dwelling unit within a multiple dwelling unit (mdu) structure, said system using a network operated at least in part by an mdu operator and communicating with at least one provider that provides, through a provisioning system operated by the provider, goods and/or services in response to receipt of electronic requests for said goods and/or services, said system comprising;
an mdu tenant interface being configured to communicate mdu tenant requests for goods and/or services to at least one of said mdu operator and said provider; and
a coordinating computer, distinct from the provisioning system of the provider, that is configured to provide a provision interface operably connecting said provider and said mdu tenant interface to enable said provider and said mdu tenant to cooperate in arranging for the provision of said goods and/or services,
said coordinating computer including at least one interface operatively connected to said mdu operator and said provider, said interface configured to use hardware and software to provide at least one logical interface with said provider, said coordinating computer being configured to permit the mdu operator to bill the tenant on behalf of the provider.
20. A computer-operated method for use in a system configured to process transactions by multiple dwelling unit (mdu) occupants to purchase items from at least one provider, said system including at least one computer of the type including at least one processor, at least one memory, and at least one non-volatile storage device, said computer configured to execute an operating system and to communicate over at least one network, said computer being further configured to provide at least one communication interface coupled to the at least one network and configured to receive electronic purchase requests from said mdu occupants and provide associated electronic provisioning requests to said at least one provider, said method comprising performing the following automatically by computer:
operating at least one logical interface with said at least one provider that permits the mdu operator to bill mdu occupants at least in part in response to said received electronic requests, including at least in part handling provision events including translating provision events and post billing information,
at least in part coordinating the provisioning of at least one aspect of requested items between said at least one provider and said mdu occupants, and
allocating fees collected from mdu occupants to the at least one provider.
2. The system of
3. The system of
4. The system of
5. The system of
6. The system of
10. The method of
11. The method of
12. The method of
14. The method of
15. The method of
16. The method of
17. The method of
18. The method of
19. The method of
21. The method of
22. The method of
(a) requesting a service from a coordinating computer, and
(b) controlling the coordinating computer to request said service on behalf of the mdu occupant to the service provider.
|
The present application is a continuation of U.S. patent application Ser. No. 11/428,099, filed on Jun. 30, 2006, pending, which application claims priority under 35 U.S.C. §119(e) from provisional U.S. Patent Application Ser. No. 60/698,489, filed on 13 Jul. 2005, which are incorporated herein by reference in their entirety and for all purposes.
A portion of the disclosure of this patent document contains material that is subject to copyright protection. The copyright owner has no objection to anyone reproducing the patent disclosure as it appears in the Patent and Trademark Office patent files or records. However, the copyright owner strictly reserves all other copyrights.
The technology herein relates to the delivery of electronic and computational services to consumers. More specifically, the technology herein provides methods, systems, and apparatus for the delivery of electronic and computational services to consumers in multiple dwelling units. The technology herein has applications in the areas of electronic commerce, computer science, computer networking, and electronics.
Traditional business models between multiple dwelling unit (MDU) operators (entities that operate MDUs) and analog- or digital-based telecommunications service providers, such as cable TV operators, include a fixed fee per unit based upon average unit occupancy rate, a fixed fee for basic service, and other payment models that compensate the service provider based upon a fixed payment per unit of service. Typically the service is selected from a pre-determined package of options available to the tenant of the MDU. These business models are sufficient for MDU facilities where service usage is relatively constant and few additional services are purchased; but they become economically inefficient if there are large swings in average unit occupancy, or if the MDU tenants desire additional services beyond the “one-size-fits-all” service.
A traditional analog-service MDU architecture, such as the one shown in
The inefficiencies of the traditional business models are evident by the proliferation of work-arounds for pay-per-view, telephony, and network services. For example, SpectraVision provides a redundant cable head-end, and requires an MDU operator to provide additional in-facility wiring to support the additional SpectraVision equipment. Similarly, local telephone services require additional wiring and hardware investments by MDU operators. These costs have, until now, been largely unavoidable and are part of the cost of being competitive in the MDU marketplace.
Other business schemes, such as billing from a hotel to a credit card, provide a partial alternative mechanism for payments. But this type of scheme severs (or “dis-intermediates”) an MDU operator from the flow of services and provides points of contention between an MDU operator, their tenant(s), and the service provider for service delivery problems; and it imposes significant costs on the service provider for operating a redundant end-user payment processing operation. None of these schemes permit the collection and use of MDU tenant demographics and the targeting of services and content to these tenants based upon MDU tenant demographics.
With the advent of digital services, service provider business models require the provision of value added digital services to their subscriber community, including MDU tenants. Digital services further permit the tailoring of delivered content, such as advertising, to specific users. However, the historical unavailability of MDU tenant demographic information makes these programs less valuable to service providers serving MDU tenant populations.
Thus, new technologies are necessary to address the current inefficient business models that prevent greater adoption of usage charged services and content by MDU. The technology herein meets these and other needs.
An exemplary illustrative non-limiting implementation provides a system for providing goods and services, such as personally identified converged media services, from one or more service providers to consumers, such as MDU tenants, in one or more MDU tenant dwelling units that are managed by an MDU operator. The exemplary illustrative non-limiting implementation provides a system for facilitating the provision of goods and services to a multiple dwelling unit (MDU) tenant of a operated by an MDU operator. In one exemplary illustrative implementation, the system comprises at least one service provider that is configured to provide goods and services in response to electronic requests for such goods and services; an MDU tenant interface located in at least one of the dwelling units configured to communicate MDU tenant requests for goods and services to one of the MDU operator and the service provider; and a coordinating site configured to provide a provision interface operably connected to the service provider and the MDU tenant interface to enable the service provider and the MDU tenant to arrange for the provision of the goods and services.
In another, more specific, non-limiting implementation, the coordinating site is further configured to provide information related to at least a portion of the consumption of the goods and services by the MDU tenant to the MDU operator. In another exemplary illustrative non-limiting implementation, each of the MDU tenant interface, the provision interface, and the coordinating site is configured to support IP-based services. Still other exemplary implementations further comprise physical connections between the MDU tenant interface, the service provider, and the provision interface; or at least one interface between the service provider and the MDU operator (or both). In still other exemplary illustrative non-limiting implementations, the coordinating site includes at least one interface for at least one of billing, occupancy, and loyalty systems; a configuration interface for the MDU operator (or both).
Another exemplary illustrative non-limiting implementation provides a multiple unit dwelling comprising the system for facilitating the provision of goods and services as described above.
A further exemplary illustrative non-limiting implementation provides a method for transacting services between one or more providers of goods and services and a multiple dwelling unit (MDU) tenant operated by an MDU operator. Some non-limiting implementations provide an MDU tenant interface in at least one dwelling unit, the MDU tenant interface being configured to communicate MDU tenant requests for goods and services to the service provider; and provide a coordinating site to coordinate the provision of at least one aspect of the goods and services between the service provider and the MDU tenant. Other non-limiting exemplary implementations further comprise providing at least one service from an MDU operator. Still other implementations further comprise providing a network interface port configured to allow the service provider to communicate with the MDU operator.
Other exemplary illustrative non-limiting implementations further comprise enabling the provision of a service from the service provider to the MDU tenant interface, disabling the provision of a service from the service provider to the MDU tenant interface, or both. In some more specific implementations, the service provided by the MDU operator includes a billing service.
Some non-limiting implementations further comprise providing the MDU operator information related to at least a portion of the consumption of the goods and services by the MDU tenant to the MDU operator. In other exemplary implementations, such providing further includes the MDU operator providing a billing service.
Other exemplary illustrative non-limiting implementations further comprise translating information provided by the service provider to information stored by the MDU operator. In more specific implementations, the method further includes associating information provided by the service provider to a specified dwelling unit. Still other exemplary illustrative non-limiting implementations include providing the MDU operator information related to at least a portion of the consumption of the goods and services by the MDU tenant to the MDU operator in addition to the foregoing. Yet other exemplary implementations also include providing a billing service from the MDU operator as well.
These and other features and advantages will be better and more completely understood by referring to the following detailed description of exemplary non-limiting illustrative implementations in conjunction with the drawings of which:
The technology herein addresses the limitations of the prior art by providing, in one aspect, a systems architecture that supports the integration of converged-media services (including, but not limited to, cable, and satellite television, pay-per-view (PPV) programming, Internet access, and other services that can be transacted over telephone or computer networks), as well as the billing for, and provisioning of such services to one or more multiple dwelling unit (MDU) tenants. The exemplary illustrative non-limiting systems architecture also supports the provisioning of goods as well, and of goods and services together. As used herein, an MDU is a structure that provides a permanent or temporary dwelling (e.g., residence or office) for one or more tenants or occupants (“MDU tenants”) who are consumers of goods and services, such as converged-media services, provided by service providers (e.g., the aforementioned converged-media providers). Such architectures will be seen by those having ordinary skill in the art as being effective to reduce, even eliminate, the above-described inefficiencies associated with redundant hardware systems, specialized equipment, and redundant customer-centric services such as multiple billing entities. More specifically, the systems architecture provided by an exemplary illustrative non-limiting implementation permits a reduction in up-front and maintenance costs by reducing the fixed wiring plant to, in one implementation, a single drop per unit; the reduction or elimination of premises equipment for goods and services, such as converged media services; and the corresponding reductions in equipment, staffing, repair, and maintenance costs. In some non-limiting exemplary implementations, the architecture further supports the elimination of at least a portion of the wired infrastructure within the MDU premise by enabling wireless service delivery; thereby effectively delivering combined services to an MDU tenant in whatever format they can accept the information.
The exemplary illustrative non-limiting system also provides a mechanism to enable shared business models between MDU operators and the service providers, while improving the end-user customer experience of MDU tenants by providing additional features and capabilities that were previously unavailable to MDU tenants by using a common provider interface. These shared business models open new business opportunities for both the MDU operator and the service provider.
General System Structure and Operation
One exemplary implementation of an MDU architecture is shown in
An Interface (2006) including an Interface system (2010) is also provided between a service provider and an MDU, and is operably connected to both the service provider and at least one MDU tenant. In one exemplary implementation, the Interface system (2010) is a combination hardware system and software application, deployable, for example, as a PC or a network appliance, which provides a plurality of configurable logical interfaces to service providers (2002, 2003), MDU operator systems (2012), and MDU tenant interface(s) (2008). In some exemplary implementations (not shown), a plurality of Interface systems (2010) may be provided to provide fault tolerance, redundancy, or load sharing.
The connection between the MDU and a service provider is called the “service provision network”. The service provider's interface to the service provision network is called a service provider interface, and serves as a proxy for service provider systems such as content provision, account management, and billing. The interface system (2010) permits an MDU operator to provide services on behalf of a service provider (for example, billing), and for a service provider to provide services to the MDU tenant on behalf of an MDU operator (for example, provision of converged media MDU tenant services such as cable, PPV, and IP telephony services), and optionally provides an interface for the correlation and exchange of service-related information. The Interface system's interface to the service provision network may, in some exemplary implementations, be provided by a cable set-top box or cable modem, or may be provided using alternative technologies. Further, the interface may be provided by a third-party provider, such as an ISDN or DSL network connection, or even a traditional telephone dial-up connection. A service provider may optionally provide a dedicated interface port to the service provider systems for an MDU operator to communicate service provider systems as part of the service provider interface.
The MDU tenant interface may be connected to a service provision network using a physical connection (e.g. cable, telephony wiring, or IP network interface), or it may be provided using a wireless interface such as those provided by various wireless approaches such as 802.11-b/-g or the emerging WiMax mechanisms. In a more specific exemplary implementation, the MDU tenant interface comprises a plurality of network interfaces that support cable and IP-based services. In another exemplary illustrative non-limiting implementation, a single MDU tenant interface may comprise a plurality of virtual network interfaces. Each MDU tenant interface may be uniquely identified using a unique identifier, such as an IP address, Ethernet MAC address, a device's globally unique ID (e.g., UUID or GUID), or other identity mechanism as may be implemented by the MDU tenant interface. In some exemplary implementations, the unique identifier may be shared between one or more MDU tenant interfaces.
In-unit converged services, including PPV, network services and IP-based telephony services may be provided using at least one of these MDU tenant interfaces. In these cases, an MDU operator's fixed costs may be further reduced by permitting an MDU operator to eliminate the fixed costs of MDU premise telephone systems, including the PBX, voice mail, premise instruments, and most fixed telephone lines. The MDU premise telephone system services may be outsourced to at least one third party, or if an MDU operator operates multiple MDU facilities, to a common MDU operator-controlled facility. The Interface system (2010) supports the provisioning of these outsourced components; both for the provisioning of basic telephony services to the MDU units and for the provisioning of additional value-added telephony-based services such as “follow me” telephone and voice mail services.
In another exemplary illustrative implementation, shown in
The MDU operator system interfaces (2012) comprise interfaces to the MDU operator systems described above, including the MDU billing system, the MDU occupancy management system, and the MDU loyalty system, and such other MDU operator systems as interfaces are required. The MDU operator system interfaces comprise any software and hardware effective to connect to Interface system (2010), for example, serial, parallel, or network interfaces, as will be understood by those having ordinary skill in the art.
Finally, the interface system (2010) may have a configuration interface (2014) that may comprise a serial or parallel interface, a network interface (such as a Web interface), or it may provide the interface using a traditional keyboard, monitor, and mouse. In another exemplary implementation, one or more of the above-described interfaces (or any other interface not shown) is collapsed into a single physical Ethernet or other networking interface, with optional security provided by VPN or other encryption methods.
In an alternative implementation, the service provision network connects the service provider interface(s) and MDU tenant interfaces, and further connects between the service provider interface(s) and the interface system(s) (2010). These connections are substantially made in parallel, and may be made using parallel or shared network topologies as known to those skilled in the art. Network traffic on the service provision network may be physically isolated on separate physical networks, logically separated on a single network, or co-mingled on a single network. Different portions of the service provision network may utilize different network traffic management schemes. This second arrangement off-loads some of the connection burden and traffic to the interface system (2010). However, the details of the connections and operations are substantially as described above with respect to
The Interface system can be constructed using a commercial computer system, such as a PC, comprising a CPU, memory, hard drive, and other components typically found in this type of system as will be understood by those having ordinary skill in the art. Further, it can utilize a commercial operating system such as Linux or Microsoft Windows. Each Interface system and its components may be constructed using different languages or development methodologies, including, but not limited to, C/C++, Java, C#, and XML/XSLT. In one exemplary implementation, the Interface system is deployed as a stand-alone system, for example, as a network appliance. But it may be deployed as part of other systems deployed at an MDU operator's site. Alternatively, it may be deployed as an ASP model, where a service provider deploys a stand-alone system and manages the interconnection to an MDU operator and service provider systems. The advantages of providing the benefits of the architecture to MDU operators, tenants, and their service providers as an ASP include those of scale and increased efficiencies from a reduced staffing count.
The other components of the Interface system (3000) are described below. Each component can be implemented using methods and components well known to those having ordinary skill in the art.
MDU Operator System Interface
An MDU operator system interface handler component(s) support the interface between specific MDU operator systems and the Interface system. It translates specific requests from the MDU operator system event processor into commands and information appropriate to a specific MDU operator system and translates any results back into a “normal” form that can be used by the Interface system. An MDU operator system interface also takes unsolicited information received from an MDU operator system (for example, a tenant check-in notification), translates it into “normal” form, and forwards it to the MDU operator system event processor component for further processing.
Each MDU operator system interface may be a general purpose component for interacting with MDU operator systems, utilizing commercially available tools and libraries to provide format conversion and input/output. Each MDU operator system interface may be constructed using different languages or development methodologies, including C/C++, Java, C#, and XML/XSLT. MDU operator system interfaces of this type may use configuration information to determine how information is moved between the MDU operator system interface, the respective MDU operator system, and the MDU operator system event processor. Alternatively, an MDU operator system interface may be custom developed to interface with a specific MDU operator system.
In one exemplary implementation, an MDU operator system interface component is started when the Interface system is started. The configuration of this component is taken from configuration information written by the configuration interface handler component (3004), which is described below. In another exemplary implementation, multiple instances of an MDU operator system interface component are started as necessary. In one illustrative implementation, each instance of MDU operator system interface component operates as follows:
In another illustrative non-limiting implementation, upon receipt of a request from the MDU operator system event handler (3010), an MDU operator system interface (3002) performs the following operations:
Upon receipt of an unsolicited input from an MDU operator system, an MDU operator system interface performs the following operations:
The translations between input and output within an MDU operator system interface may be hard coded or may optionally be specified in one or more configuration files or databases.
Interactions between an MDU operator system interface and an MDU operator system may be instantiated by exemplary illustrative non-limiting implementations on a event or timed basis. When invoked on a timed basis, the interactions may include events stored but not previously communicated to the MDU operator system.
Configuration Interface Handler
In one exemplary illustrative non-limiting implementation, the optional configuration interface handler component (3004) provides the user interface for configuring the Interface system. In a more specific implementation, the configuration interface handler component is present only if there is an active configuration interface present on the Interface system. In a still more specific implementation, the configuration interface handler provides a screen-based user interface for configuring MDU operator system interfaces, service provider interfaces, translation rules, and for defining event-handling rules. The desired system configurations can be stored in persistent storage, for example, as a set of configuration files or as entries in a configuration table or tables in the database.
In a more specific exemplary implementation, the configuration interface handler provides the capability to configure and manage the storage of the configuration for the following attributes of the Interface system:
An example of operational parameters being set includes the setting of the interval for “debouncing” PPV viewing events. In one example non-limiting implementation, a tag value pair with the tag=“com.turnkey.eagle.importer.emailFileExport.dupficateHoursIntetval” and the value set by the user is configured in a configuration table. The “com.turnkey.eagle.importer.emailFileExport.duplicateHoursInterval” tag identifies the configuration value that defines “debounce interval”, e.g., the interval (in hours) over which multiple instances of a repeated event should be considered as one instance of an actual event.
Service Provider Interface
In one exemplary illustrative non-limiting implementation, the service provider interface component (3006) provides an interface between specific service providers and the Interface system. In a more specific non-limiting implementation, there are multiple instances of the service provider interface component in the interface system. Other implementations include those in which there is more than one service provider interface component per service provider, or multiple service provider interfaces may be shared by a single service provider interface component. In some implementations, the service provider interface component translates specific requests from the service provider event processor (3012) into commands and information appropriate to a specific service provider interface and translates any results returned on a service provider interface into a “normal” form that can be used by other components in the interface system. In still another exemplary implementation, the service provider component interface also receives unsolicited information received from a service provider interface (for example, a “pay-per-view started” event notification), translates it into “normal” form, and forwards it to the service provider event processor component for further processing.
Each service provider interface component may be a general purpose component for interacting with service provider system(s), utilizing commercially available tools and libraries to provide format conversion and input/output. Each service provider interface component may be constructed using different languages or development methodologies, including C/C++, Java, C#, and XML/XSLT. Service provider interface component of this type may use configuration information to determine how information is moved between the service provider interface component, the respective service provider interface, and the service provider event processor. Alternatively, a service provider interface component may be custom developed to interface with a specific service provider system or service provider interface.
In one illustrative implementation, the service provider interface component is started when the Interface system is started. The configuration of this component is taken from the configuration information written by the configuration interface handler component, and multiple instances of the service provider interface component are started as necessary. Each instance of service provider interface component operates as follows:
Upon receipt of a request from the service provider event handler (3010), the service provider interface performs the following operations:
If a response is expected, then the service provider interface waits for a response from the service provider's system. Upon receipt of the response, the service provider interface translates the response into a form usable by the service provider event handler, removing extraneous information and adding information from the tenant's profile as necessary, optionally logs the response, and forwards the translated response to the service provider event handler. If a response is expected but not received, the service provider interface logs the condition and takes the action(s) specified in its configuration information.
Upon receipt of an unsolicited input from a service provider system, the service provider interface performs the following operations:
The translations between input and output within the service provider interface may be hard coded or optionally may be specified in one or more configuration files or databases.
In an exemplary illustrative non-limiting implementation, interactions between a service provider interface and a service provider system may be instantiated on a event or timed basis. When invoked on a timed basis, the interactions may include events stored but not previously communicated to the service provider's system.
Natural Language Interpreter
The natural language interpreter component (3008) translates “English-like” commands and configuration instructions into a form that is usable by the service provider and MDU operator system event processors (3010, 3012). For example, the instructions “Bill $10 for each unique PPV event per day” and “Combine multiple PPV events for the same PPV item into a single event” may take the form of an English sentence, may be described using a machine parseable grammar, or may be entered using a “fill in the fields” form. Components that translate these input formats are well understood by those having ordinary skill in the art, and may include semantic language interpreters and lexical parsing tools.
In one exemplary illustrative non-limiting implementation, for each case the “English-like” commands are translated to a machine-readable configuration and stored within the interface system. Preferably, the configuration information is stored in a flat file, using a coding structure such as XML. Alternatively, the configuration information is stored within the database.
Optionally, each command and configuration instruction may be associated with one or more events that are processed by other components of the interface system. The association between a command and specific events may be managed within each component, or may be stored together within the database. Each storage method is well understood by engineers.
Various commands may have a semantic-specific ordering to which they should be evaluated. Preferably, the order of evaluation is maintained within the event binding described above, so that event processing occurs naturally in the desired processing order. Alternatively, the ordering of commands may be managed independently at the cost of having each interface system component be responsible for determining and enforcing the desired implementation order of commands.
In other example non-limiting implementations, the values entered into the Natural Language Interpreter are directly entered into databases and configuration files of the Interface system. These values are used to control one or more aspects of the processing of events by the Interface system. In some more particular example implementations, the value entered into the Natural Language Interpreter may take the form of a stored procedure stored within the database, as described below.
MDU Operator System Event Processor
The MDU operator system event processor component (3010) manages interactions with one or more MDU operator systems, based in part upon rules defined by an MDU operator. Generally, these rules are entered through a configuration interface, are processed by the natural language interpreter, and are stored in the interface system's database or configuration files. As used here, the term “database” in this context is used in its most general meaning. Some events which the MDU operator system event processor component supports include:
Other events may be defined by an operator of the interface system. These events and their definitions are preferably stored with the rules bound to them. If the MDU operator system event processor receives an undefined event, its default procedure is to log the event and all relevant details for further action by the operator. Each of the above-listed events is described below in greater detail.
Check-In Event
In one implementation, when a check-in event is received from an MDU operator system indicating that an MDU unit has become occupied, the MDU operator system event processor locates the check-in rules defined in the database. The check-in rules describe the behavior of the Interface system when an MDU unit is occupied. After obtaining these rules, the MDU operator system event processor begins processing them to enable the provision of each of the services as specified by the rules. In one example, the check-in rule specifies that the Interface system should:
Still other operations will be apparent to those having ordinary skill in the art.
Check-Out Event
In one non-limiting implementation, a check-out event is received from an MDU operator system, indicating that an MDU unit is no longer occupied. When a check-out event is received, the MDU operator system event processor locates the check-out rules defined in the database. The check-out rules describe the behavior of the Interface system when an MDU unit is occupied. After obtaining these rules, the MDU operator system event processor begins processing them to disable the provision of each of the services as specified by the rules. In one example, the check-out rule specifies that the Interface system should:
The MDU operator system event provider then instructs the service provider event processor to de-provision the MDU unit using the above information.
Billing Event
In one exemplary illustrative non-limiting implementation, a billing event is received indicating that an item should be added to the bill for a specific MDU unit. The billing event may originate outside the Interface system, or it may be generated by the Interface system after processing one or more events from service providers or other MDU operator systems. In a more specific implementation, when a billing event is received the MDU operator system event processor locates the billing rules (preferably defined in the database). The billing rules describe the behavior of the Interface system when an item is to be billed to an MDU unit. After obtaining these rules, the MDU operator system event processor begins processing them. In one example, the billing rule services a PPV event and specifies that the Interface system should:
Billing events may be received for some time after a unit has been vacated. In one non-limiting exemplary implementation, an MDU operator defines how such billing events will be processed. For example, whether they are billed to the MDU tenant's folio, written down as a loss, etc. Similarly, the system processing for conditions when an event is received for a vacant unit are handled in accordance with MDU operator policies. Preferably, these types of events will generate a notification to the operator for immediate investigation and correction. An MDU operator policies are expressed as part of the rules surrounding the billing event.
Service Provider Event Processor
In one non-limiting implementation, the service provider event processor (3012) manages interactions with service providers via specific service provider interfaces and their respective service provider interface handler components (not shown). In a more specific non-limiting implementation, the service provider event processor component manages interactions with one or more service providers based in part upon rules defined by an MDU operator. Generally, these rules are entered through a configuration interface, are processed by the natural language interpreter, and are stored in the Interface system's database. Some events supported by the service provider event processor component include: a provision event received from the MDU operator system event processor and a de-provision event received from the MDU operator system event processor.
For example, when a provision request is received from the MDU operator system event processor, indicating that an MDU unit has become occupied, the service provider event processor first locates the provisioning rules defined in the database. The provisioning rules describe the behavior of the Interface system when an MDU unit is occupied. After obtaining these rules, the service provider system event processor begins processing them. For example, using the rule described above, the service provider event processor provider performs the following activities:
Provision Event
In one exemplary illustrative non-limiting implementation, a “provision” event is processed by the service provider event processor when one or more service providers are required to provide services to an MDU tenant. In one example, the service provider event processor processes a provision event in accordance with a “provision” rule defined in the database; and performs the following steps in order to process the rule:
An example of a provision rule might specify that the service provider event processor start by looking up the MDU unit information in the database, determining the service provider and MDU tenant interface ID (e.g., the set-top box ID for a cable service provider), and the VoIP phone MAC address associated with the VoIP phone in the MDU unit. After obtaining this information, the service provider event processor selects the service provider interface corresponding to the identified service provider and sends a provisioning request to the service provider interface handler. In this example, the service provider is a cable system provider such as Comcast. The request is sent to Comcast to provision the cable set-top unit and provide cable and PPV services, identifying the MDU unit and a set-top box ID. After the cable system is provisioned, the service provider event processor further requests the service provider interface to enable enhanced converged media services. This request may be routed using the same or a different service provider interface.
De-Provision Event
The de-provision event is processed by the service provider event processor to de-provision an MDU unit in an analogous manner to the provision event just described. Generally, most services to the MDU unit are disabled upon check-out of the tenant. However, some services may remain provisioned for a set period after check-out or may be de-provisioned by subsequent MDU operator command.
Database
The Interface system's database (3014) is preferably a relational database, such as provided by Microsoft SQLServer or mySQL. Alternatively, the system database could use other technologies, such as ISAM or even “flat” files to store system information. In one exemplary implementation, the database stores the following types of information:
In one exemplary implementation, the Interface System's database comprises tables to organize important information. The specific table specifications and names are database language specific and their construction is understood by those skilled in the art:
MDU Table
Account and MDUAccountTable
EmailFileExportConfiguration_MDU Table
Defines system constants that configure the operation of the Interface System. Implemented as a set of tag-value pairs. Some example tag-value pairs used in examples herein are described below:
Tag
Value
com.turnkey.eagle.importer.emailFil
Defines the number of hours
eExport.duplicateHoursInterval
used to determine if the same
event for the same account is
considered a duplicate for billing
purposes (debounce interval).
PPV_Price
$ per PPV debounced PPV
event
<service
Time period to check a service
provider>.poll_for_events_interval
provider for new events (by
service provider)
<operator
Time period to check an
system>.poll_for_events_interval
operator system for new events
(by operator system)
One aspect of other components include stored procedures that provide database operations. In some implementations, it is advantageous for the Interface system to store information from one or more systems within the Interface system, and then process that information within the interface system before communicating it to another system. One such example is the process to “debounce” PPV events received from a service provider. In this example, each service provider event is stored in the Interface systems memory, preferably in the database, and is periodically processed by a stored procedure such the one shown below for a Microsoft SQLServer database:
Other optional components of the interface system include report generation, automatic reconciliation of billing events, and components related to the gathering, storing, and distributing of marketing information between an MDU operator and its service providers. The report generation capabilities of the interface system are provided using a commercial report generation software package such as Crystal Reports. Still other components and capabilities will be apparent to those having ordinary skill in the art.
Other Exemplary Illustrative Non-Limiting Aspects of the Interface System
In another exemplary illustrative non-limiting implementation, the interface system provides a trusted, automatic reconciliation of services provided and monies billed in cases where service provider compensation is tied to monies received instead of a fixed per unit fee. In this implementation, the interface system integrates the billing information using the same mechanism as described above for customer profile information. The billing information is collected and integrated as part of the customer profile, and the resulting single source of billing information is shared with the service providers as necessary. The interface system may associate billing transactions in the logs (e.g., log entries from processing a billing event) as support detail for this integrated billing information. Preferably, the automatic, trusted reconciliation information may be provided as a report, using the above described report-writing component. Alternatively, the reconciliation information may be provided through the service provider interface for automatic integration with service provider systems.
Business Use Cases
This section describes the business use cases and methods of operating for the Interface system.
In an exemplary illustrative non-limiting implementation, the Interface system supports a distributed billing system in which the service provider provides notification of events representative of actions taken by an MDU tenant. In some implementations, the event is representative of an MDU tenant selecting PPV content on their MDU tenant interface equipment, or by making the selection on one or more devices operably connected to an MDU tenant interface equipment. Operations in this exemplary process include:
In a second example implementations, the Interface system provides mechanisms for reconciling duplicate events. Duplicate events are those that occur when a MDU tenant takes an action, such as selecting PPV content to view. In some instances, an MDU tenant may select a first piece of PPV content, change channels to a different content, and then change back to the first piece of PPV content. In some implementations, the second change to select PPV content may result in a duplicate PPV event at the service provider. A process, such as “debouncing” (described above) eliminates these duplicate events.
The Interface system permits the automatic application of debounce and billing rules. For example, a process by which duplicate PPV events are detected is shown below:
The values for determining the interface frequencies between the interface system and operator systems and provider systems, as well as the debounce interval and reconciliation intervals, may be set in a configuration instead of being hard coded. Note that a plurality of each configuration value may be set and associated with different events, service providers, and MDU operator systems.
The exemplary illustrative non-limiting architecture will be appreciated by those having ordinary skill in the art to enable at least the following advantages:
While the technology herein has been described in connection with exemplary illustrative non-limiting implementations, the invention is not to be limited by the disclosure. The technology herein will thus be recognized by those having ordinary skill in the art to provide systems, methods, and apparatus that meet and exceed the deficiencies of the prior art. The invention is intended to be defined by the claims and to cover all corresponding and equivalent arrangements whether or not specifically disclosed herein.
Patent | Priority | Assignee | Title |
10853901, | Feb 11 2016 | GLOBAL TEL*LINK CORPORATION | System and method for visitation management in a controlled environment |
11334958, | Feb 11 2016 | GLOBAL TEL*LINK CORPORATION | System and method for visitation management in a controlled environment |
11854105, | Feb 11 2016 | GLOBAL TEL*LINK CORPORATION | System and method for visitation management in a controlled environment |
8374180, | Oct 26 2009 | LG Electronics Inc | Digital broadcasting system and method of processing data in digital broadcasting system |
9354940, | Jan 19 2012 | Microsoft Technology Licensing, LLC | Provisioning tenants to multi-tenant capable services |
Patent | Priority | Assignee | Title |
5523781, | Feb 11 1993 | Precision Industries, Incorporated | System for controlling television and billing for its use |
5835128, | Nov 27 1996 | Hughes Electronics Corporation | Wireless redistribution of television signals in a multiple dwelling unit |
5905942, | Feb 18 1997 | SONIFI SOLUTIONS, INC | Multiple dwelling unit interactive audio/video distribution system |
6029195, | Nov 29 1994 | Pinpoint Incorporated | System for customized electronic identification of desirable objects |
6134419, | Jan 27 1997 | Hughes Electronics Corporation | Transmodulated broadcast delivery system for use in multiple dwelling units |
6466660, | May 14 1999 | Oracle America, Inc | Method and apparatus for retroactively updating a communication billing system |
6622307, | Mar 26 1999 | Hughes Electronics Corporation | Multiple-room signal distribution system |
6857023, | Apr 25 2000 | PEGASUS SOLUTIONS, INC | System uses an interface controller for managing operations of devices that each has a unique communication protocol |
6952836, | Sep 26 2000 | Comcast Cable Holdings, LLC | Method and apparatus for managing the provisioning of client devices connected to an interactive TV network |
7239698, | Jan 31 2003 | QWEST COMMUNICATIONS INTERNATIONAL INC PATENT PROSECUTION ; Qwest Communications International Inc | DOCSIS network interface device and methods and systems for using the same |
20020033416, | |||
20020035648, | |||
20020092021, | |||
20040060074, | |||
20040075679, | |||
20050278735, | |||
20050283791, | |||
20060041914, | |||
20060107293, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Aug 25 2009 | Jesl Holdings, Inc. | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Dec 30 2011 | ASPN: Payor Number Assigned. |
Aug 25 2014 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Nov 05 2018 | REM: Maintenance Fee Reminder Mailed. |
Apr 22 2019 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Mar 15 2014 | 4 years fee payment window open |
Sep 15 2014 | 6 months grace period start (w surcharge) |
Mar 15 2015 | patent expiry (for year 4) |
Mar 15 2017 | 2 years to revive unintentionally abandoned end. (for year 4) |
Mar 15 2018 | 8 years fee payment window open |
Sep 15 2018 | 6 months grace period start (w surcharge) |
Mar 15 2019 | patent expiry (for year 8) |
Mar 15 2021 | 2 years to revive unintentionally abandoned end. (for year 8) |
Mar 15 2022 | 12 years fee payment window open |
Sep 15 2022 | 6 months grace period start (w surcharge) |
Mar 15 2023 | patent expiry (for year 12) |
Mar 15 2025 | 2 years to revive unintentionally abandoned end. (for year 12) |