the following detailed description of implementations consistent with the present invention refers to the accompanying drawings . the same reference numbers in different drawings may identify the same or similar elements . also , the following detailed description does not limit the invention . instead , the scope of the invention is defined by the appended claims and equivalents . systems and methods consistent with the principles of this invention provide a single sign on technique for accessing the products and services offered by an operational support system . fig1 illustrates an exemplary system 100 in which systems and methods , consistent with the present invention , may be implemented . in fig1 , system 100 includes a network 110 that interconnects a group of user devices 120 and an operational support system ( oss ) 130 . it will be appreciated that a typical system may include more or fewer devices than illustrated in fig1 . moreover , system 100 may include additional devices ( not shown ) that aid in the transfer , processing , and / or reception of data . the network 110 may include , for example , the internet , an intranet , a local area network ( lan ), a metropolitan area network ( man ), a wide area network ( wan ), a public switched telephone network ( pstn ), and / or some other similar type of network . in fact , the network 110 may include any type of network or combination of networks that permits routing of information from a particular source to a particular destination . the user devices 120 may include a type of computer system , such as a mainframe , minicomputer , or personal computer , a type of telephone system , such as a pots telephone or a session initiation protocol ( sip ) telephone , and / or some other similar type of device that is capable of transmitting and receiving information to / from the network 110 . the user device 120 may connect to the network via any conventional technique , such as a wired , wireless , or optical connection . fig2 illustrates an exemplary configuration of a user device 120 of fig1 in an implementation consistent with the present invention . in fig2 , the user device 120 includes a bus 210 , a processor 220 , a memory 230 , a read only memory ( rom ) 240 , a storage device 250 , an input device 260 , an output device 270 , and a communication interface 280 . the bus 210 may include one or more conventional buses that permit communication among the components of the user device 120 . the processor 220 may include any type of conventional processor or microprocessor that interprets and executes instructions . in one implementation consistent with the present invention , the processor 220 executes the instructions to cause a web browser to be displayed to an operator of the user device 120 . as will be described in more detail below , the operator may receive reports from the oss 130 via this web browser . the memory 230 may include a random access memory ( ram ) or another type of dynamic storage device that stores information and instructions for execution by the processor 220 . the memory 230 may also be used to store temporary variables or other intermediate information during execution of instructions by processor 220 . the rom 240 may include a conventional rom device and / or another type of static storage device that stores static information and instructions for the processor 220 . the storage device 250 may include a magnetic disk or optical disk and its corresponding drive and / or some other type of magnetic or optical recording medium and its corresponding drive for storing information and / or instructions . the input device 260 may include any conventional mechanism or combination of mechanisms that permits the operator to input information to the user device 120 , such as a keyboard , a mouse , a microphone , a pen , a biometric input device , such as voice recognition device , etc . the output device 270 may include any conventional mechanism or combination of mechanisms that outputs information to the operator , including a display , a printer , a speaker , etc . the communication interface 280 may include any transceiver - like mechanism that enables the user device 120 to communicate with other devices and / or systems , such as oss 130 . for example , the communication interface 280 may include a modem or an ethernet interface to a network . returning to fig1 , the oss 130 provides the infrastructure for integrating data from traditional telephony services and applications with advanced data application platforms . through oss 130 , customers , using , for example , user device 120 , may manage , configure , and provision traditional telephony and advanced data services in real time , obtain real time billing information , and generate reports using a rules - centric middleware core . in one embodiment , a customer may perform these functions through a single point of entry using an internet accessible web interface . fig3 illustrates an exemplary configuration of the oss 130 of fig1 in an implementation consistent with the present invention . as illustrated , the oss 130 includes a process management system 310 , a network interface 320 , a group of integrated applications 330 , a group of traditional telephony systems 340 , a voice portal unit 350 , a web center unit 360 , an ipcom unit 370 , a very high performance backbone network service ( vbns +) unit 380 , and a group of non - integrated applications 390 . it will be appreciated that the oss 130 may include other components ( not shown ) that aid in receiving , processing , and / or transmission of data . the process management system 310 acts as the backbone to the oss 130 by providing graphical process automation , data transformation , event management , and flexible connectors for interfacing with oss components . in one implementation consistent with the present invention , the process management system 310 uses a common object request broker architecture ( corba ) based publish - and - subscribe messaging middleware to integrate the different components of the oss 130 . other techniques for integrating the different components of the oss 130 may alternatively be used , such as extensible markup language ( xml ) or enterprise javabeans ( ejb ). the process management system 310 may , for example , be implemented using vitria technology inc .&# 39 ; s businessware software system . the network interface 320 provides a graphical user interface that allows users ( e . g ., customers , engineers , account teams , and the like ) to access the components of the oss 130 . the network interface 320 may include commercial off the shelf ( cots ) software or hardware packages , such as siteminder ® by netegrity , inc . and / or iplanet ™ by sun microsystems , inc ., custom software or hardware , or a combination of custom software / hardware and cots software / hardware . via the network interface 320 , customers may , for example , request that service be connected or disconnected , monitor or change network or user settings , obtain reports , and perform e - billing , account management , and trouble reporting and tracking functions in a real time manner . the network interface 320 may , for example , allow engineers to submit transactions to control and configure network elements and services in a real time manner . the network interface 320 may , for example , allow account teams to manage account creations and cancellations , generate sub - accounts from master accounts , access current account data , and access historical account data . as will be described in additional detail below , the network interface 320 allows a user to obtain reports relating to the products and services to which the user has subscribed over a network , such as network 110 , via a user device 120 . the network interface 320 authenticates users and controls actions that authenticated users are allowed to execute in the oss 130 . in one implementation consistent with the present invention , the network interface 320 allows users access to the components of the oss 130 via a single sign - on technique . this single sign - on eliminates the need for users to sign in ( or authenticate themselves ) in order to access different components of the oss 130 . once authenticated , users may access those components of the oss 130 to which they have been provided authorization . the integrated applications 330 may include , for example , a data warehouse 331 , an operational data store ( ods ) 332 , a lightweight directory access protocol ( ldap ) based server 333 , an ldap database 334 , a fault management unit 335 , a data collection unit 336 , a billing unit 337 and a report unit 338 . the data warehouse 331 may include one or more separate databases for storing data . the data warehouse 331 acts as a repository for service order , account , usage and performance data . in one implementation , the data warehouse 331 may be implemented as a relational database management system ( rdbms ) and may include a server ( not shown ) that controls access to the data warehouse 331 . the ods 332 may also include one or more separate databases for storing data . the ods 332 temporarily stores data that is used in the course of fulfilling , for example , account creation , service order management , and network provisioning operations . the ods 332 also stores authentication and authorization data . this data defines users &# 39 ; roles and privileges . like the data warehouse 331 , the ods 332 may be a rdbms and may include a server ( not shown ) that controls access to the ods 332 . the ldap server 333 may be a general directory server that controls access to the ldap database 334 . the ldap database 334 may be an ldap - based repository that stores information associated with users in a hierarchical , tree - like structure . for example , the ldap database 334 may store attributes for a user that may include preferences associated with the following exemplary services : call blocking , follow - me , call forwarding , voice mail , conference calling , single line extension , call screening , quality of service , class of service , dial plan restrictions , dynamic registration , secondary directory number and call transfer . the ldap database 334 may store this information as one or more directory entries for each user . each directory entry may include an identifier associated with the user and a collection of attributes associated with the user . each of the attributes may include a type and one or more values that identify the user &# 39 ; s settings associated with that type . in this manner , the ldap server 333 and ldab database 334 provide a system that enables the user &# 39 ; s preferences regarding various services to be stored , searched , updated and retrieved in a quick and efficient manner . the ldap server 333 and ldap database 334 are shown as separate devices . it should be understood , however , that these two devices may both be part of the same directory server in implementations consistent with the present invention . the fault management unit 335 monitors and manages the operation of the oss 130 . the fault management unit 335 may receive information from every device , computer and application in the oss 130 via the process management system 130 . in situations where a fault has been detected , the fault management unit 335 may transmit a trouble ticket identifying the fault to the appropriate system administrator . the data collection unit 336 collects customer usage and performance data for the devices supported by the oss 130 , transforms the data , if necessary , and passes the data on to the appropriate device , such as the billing unit 337 . in one implementation , the data collection unit 336 utilizes a hierarchical architecture , having a centralized manager that defines and manages collection and data transformation schemas . individual , lower level gatherers interface with source targets . the billing unit 337 receives customer usage and performance data from the data collection unit 336 and generates bills in a well - known manner based thereon . the billing unit 337 may be configured with a variety of rating rules and plans and may provide mechanisms to manage and create rating plans , as well as mechanisms for building revenue reports and generating billing reports . the rating rules may be customized based on a particular customer &# 39 ; s requirements or generalized . the rating rules may include traditional telephony styled rating rules that include time - of - day , day - of - week , distance - based , flat rate , non - recurring , and recurring on a definably regular basis , such as weekly , bi - weekly , monthly , etc ., ratings . in an exemplary implementation of the present invention , the billing unit 337 may also provide bonus points , airline miles , and other incentive items as part of the rules - based rating and billing service . billing unit 337 may provide revenue and billing reports to authorized parties . billing unit 337 may allow customers to access previous invoices and view current charges not yet billed . in an exemplary implementation consistent with the present invention , billing unit 337 may transfer rated events and summary records into other billing and revenue systems . for example , billing unit 337 may receive and transfer billing information or event information to a legacy billing system ( i . e ., an existing billing system ) that generates the actual bill . in alternative implementations , billing unit 337 may provide hard copy bills and / or provide electronic bills to a customer . in this implementation , billing unit 337 may be configured to perform electronic payment handling . as customer orders and accounts are created or modified through normal business functions , the oss 130 keeps the billing unit 337 up to date in a real time manner via the process management system 310 . authorized parties may also extract real time data from the billing unit 337 . the report unit 338 may interact with various components of the oss 130 , such as the ods 332 and billing unit 337 , to provide users ( e . g ., customers , engineers , and accountants ) with the ability to obtain reports based on real time data . the reports may include , for example , billing reports , reports regarding the usage and / or performance of the network , etc . as described in more detail below , the user may gain access to the report unit 338 , as well as the other components of the oss 130 , via a single sign - on . the traditional telephony systems 340 may include one or more components that are typically used in a telecommunications network . in one implementation , the traditional telephony systems 340 include one or more legacy systems , such as an order entry system , provisioning system , billing system , and the like . the voice portal unit 350 provides a variety of information services to subscribers . these services may include , for example , banking , brokerage , and financial services , travel and entertainment services , distribution and shipping services , insurance services , health and pharmaceutical services , manufacturing services , and the like . the voice portal unit 350 may store subscriber profiles to determine a subscriber &# 39 ; s device preference ( e . g ., a cellular telephone , a personal digital assistant , a paging device , and the like ) and may also track a subscriber &# 39 ; s access to the services for billing purposes . the web center 360 acts as a virtual call center by queuing , routing , and distributing communications from any first location to an appropriate agent at any second location . the web center 360 allows agents to handle multiple mediums ( e . g ., inbound telephone calls , faxes , e - mails , voicemail , voip transactions , etc .) via a single browser - based interface . the ipcom unit 370 may include one or more devices that provide voip services to subscribers . the subscribers may make and receive calls via an ip communications network using , for example , session initiation protocol ( sip ) telephones . the ipcom unit 370 may support the following exemplary services : follow me , call blocking , call forwarding , voice mail , conference calling , single line extension , call screening , quality of service , class of service , dial - plan restrictions , dynamic registration , secondary directory number , and call transfer . customers may set or change attributes associated with these features via the network interface 320 . the vbns + unit 380 provides the ip infrastructure for the ip communications network . the vbns + unit 380 may include a group of routers that route packets in the network . the non - integrated applications 390 may include , for example , a security unit , a trouble ticketing unit , and a fault manager . the security unit may include one or more firewalls for securing the network interface 320 , telephone equipment ( e . g ., pbx , switch , and redirect server ), and network operations . the trouble ticketing unit manages the issuance and resolution of trouble tickets . the fault manager monitors the hardware components of the oss 130 . fig4 illustrates an exemplary configuration of the process management system 310 of fig3 in an implementation consistent with the present invention . as illustrated , the process management system 310 includes a bus 410 , a processor 420 , a memory 430 , an input device 440 , an output device 450 , and a communication interface 460 . the bus 410 permits communication among the components of the process management system 310 . the processor 420 may include any type of conventional processor or microprocessor that interprets and executes instructions . the memory 430 may include a ram or another type of dynamic storage device that stores information and instructions for execution by the processor 420 ; a rom or another type of static storage device that stores static information and instructions for use by the processor 420 ; and / or some type of magnetic or optical recording medium and its corresponding drive . the input device 440 may include any conventional mechanism or combination of mechanisms that permits an operator to input information to the process management system 310 , such as a keyboard , a mouse , a pen , a biometric mechanism , and the like . the output device 450 may include any conventional mechanism or combination of mechanisms that outputs information to the operator , including a display , a printer , a speaker , etc . the communication interface 460 may include any transceiver - like mechanism that enables the process management system 310 to communicate with other devices and / or systems , such as the network interface 320 , integrated applications 330 , traditional telephony systems 340 , etc . via a wired , wireless , or optical connection . execution of the sequences of instructions contained in a computer - readable medium , such as memory 430 , causes processor 420 to implement the functional operations described below . in alternative embodiments , hardwired circuitry may be used in place of or in combination with software instructions to implement the present invention . thus , the present invention is not limited to any specific combination of hardware circuitry and software . fig5 illustrates an exemplary functional block diagram of the process management system 310 of fig3 in an implementation consistent with the present invention . as illustrated , the process management system 310 includes a process automator 510 , an analyzer 520 , a group of connectors 530 , and a transformer 540 . it will be appreciated that the process management system 310 may include additional functional elements ( not shown ) that aid in the reception , processing , and / or transmission of data . the processor automator 510 includes a modeling tool that allows event processing to be visually modeled by engineers and product development analysts . the process automator 510 can then execute these models to create an automated business process . the analyzer 520 provides on - going and real time monitoring of the components of the oss 130 . the analyzer 520 delivers reports , history , and trending on events processed through the process management system 310 . the connectors 530 include a group of customized rules that allows the components of the oss 130 to interact and communicate with the process management system 310 . a unique connector 530 may be established for each component in the oss 130 . as new components are added to the oss 130 , new connectors 530 are established to allow the new components to communicate with the existing components of the oss 130 . once the connectors 530 have been established , the oss components may communicate with the process management system 310 via standard messaging or through full publish / subscribe processing . the transformer 540 inspects data received by the connectors 530 . the transformer 540 may also transform the data received by the connectors 530 , if necessary , prior to the data being transferred on to its destination . fig6 illustrates an exemplary configuration of the voice portal unit 350 of fig3 in an implementation consistent with the present invention . as illustrated , the voice portal unit 350 includes an extensible program management ( xpm ) unit 610 , one or more voice portal application servers 620 , and a customer directory database 630 . the xpm unit 610 receives user profile information from the network interface 320 via the process management system 310 and stores this information for use by the voice portal application servers 620 . the xpm unit 610 may also receive other information , such as information identifying the device ( s ) ( e . g ., personal digital assistant , cellular telephone , pager , etc .) by which the customer wishes to receive the service ( s ) provided . the voice portal application servers 620 may include one or more servers that interact with the xpm unit 610 to provide , for example , banking , brokerage , and financial services , travel and entertainment services , distribution and shipping services , insurance services , health and pharmaceutical services , manufacturing services , and the like . voice portal application servers 620 may also provide data collection unit 336 with information regarding what services are accessed and by whom . the data collection unit 336 may then pass this information on to the billing unit 337 for billing purposes . the voice portal application servers 620 may be located at the oss 130 or distributed throughout the network 110 . the customer directories 630 may store information relating to the services provided by the voice portal application servers 620 . for example , the customer directories 630 may store stock quotes , current weather forecasts , real time sports scores , etc . fig7 illustrates an exemplary configuration of the web center 360 of fig3 in an implementation consistent with the present invention . as illustrated , the web center 360 includes a communications server 710 and an agent information database 720 . the communications server 710 queues , routes , and distributes communications from any first location to an appropriate agent at any second location . the communications server 710 may determine the appropriate agent based on data stored in the agent information database 720 . the agent information database 720 may store agent activity information , the particular skills of the agents , and the like . once a customer has utilized the services of the web center 360 , the usage information may be transmitted to the data collection unit 336 and then to the billing unit 337 for billing . users may , via the network interface 320 , provision new services , such as order a toll free number , and / or create new accounts at the web center 360 . fig8 illustrates an exemplary configuration of the ipcom unit 370 of fig3 in an implementation consistent with the present invention . as illustrated , the ipcom unit 370 includes a network server / redirect server 810 , cpe enterprise gateways 820 , and network gateways 830 . the network server / redirect server 810 processes calls made over the ip communications network based on data stored in an associated database 815 . the database 815 may store data ( or records ) relating to call processing ( e . g ., information identifying the device by which the subscriber wishes to receive the call , network configuration information , etc . ), subscriber profiles ( e . g ., subscriber identifiers ), and network - supported features . the network server / redirect server 810 may direct calls to the appropriate gateway 820 or 830 based on this data . the network - supported features may include , for example , follow me , call blocking , call forwarding , voice mail , conference calling , single line extension , call screening , quality of service , class of service , dial - plan restrictions , dynamic registration , secondary directory number , and call transfer . the cpe enterprise gateways 820 may include one or more gateways for linking customer systems to the ip communications network . the cpe enterprise gateways 820 may , for example , connect to a customer &# 39 ; s pbx and convert time division multiplexed ( tdm ) voice data into voip packets and voice signaling into sip messages . the network gateways 830 include one or more gateways for linking the ip communications network to the pstn in a well - known manner . the redirect server 810 , cpe enterprise gateways 820 , and network gateways 830 track customer access and transmit this customer access data to the data collection unit 336 for billing purposes . fig9 illustrates an exemplary configuration of the vbns + unit 380 of fig3 in an implementation consistent with the present invention . as illustrated , the vbns + unit 380 includes a group of edge routers 910 that route packets to / from the vbns + core network 920 . the edge routers 910 may connect to the network server / redirect server 810 , network gateways 830 , customer &# 39 ; s cpe equipment , other routers in the ipcom network , directly to sip telephones , etc . the edge routers 910 may be configured or updated via the network interface 320 . the vbns + core 920 may include one or more core routers for routing packets between edge routers 910 . the foregoing description of the oss 130 provides an overview of the components and operation of the oss 130 . a more detailed description of the present invention is provided below . as described above , the oss 130 offers a unique combination of products and services ( e . g ., billing , reporting , voice portal applications , voip services , etc .). in addition to the user having to login ( or register ) with the oss 130 in order to gain access to the products and service provided thereby , some of these individual products or services may require the user to login a second time to gain access to the particular product or service desired . implementations consistent with the present invention eliminate the need for users to login more than once to gain access to the products and services of the oss 130 . while the foregoing processing is described in relation to the report unit 338 , it will be appreciated that the processing is equally applicable to other units of the oss 130 or to other systems in general that require users to login multiple times . fig1 illustrates an exemplary process for accessing the report unit 338 in an implementation consistent with the present invention . processing may begin with a user ( e . g ., a customer , an accounting person , etc .) establishing a connection with the network interface 320 [ act 1010 ]. the user may , for example , accomplish this via any conventional internet connection by entering a link or address , such as a uniform resource locator ( url ), associated with the network interface 320 . in alternative implementations , the user may establish a direct connection with the network interface 320 . in each of these scenarios , the network interface 320 may then transmit a login screen to the user in order to authenticate the user [ act 1020 ]. fig1 illustrates an exemplary login screen 1100 consistent with the present invention . as illustrated , the login screen 1100 prompts the user to enter an identifier ( id ) 1110 and password 1120 . the id 1110 may be , for example , an e - mail address or some other unique identifier associated with the user . the password 1120 may be a unique alphanumeric string created by the user . the user may enter an id 1110 and password 1120 in a well - known manner via the user device 120 . in the exemplary login screen 1100 illustrated in fig1 , the user entered the id “ joesmith1234 ” and the password “ 12345 .” upon selecting the submit button , the user device 120 may then transmit the user id 1110 and password 1120 to the network interface 320 . the network interface 320 may authenticate the user by , for example , comparing the user &# 39 ; s id 1110 and password 1120 to authorized identifiers and passwords [ act 1020 ]. once authenticated , the network interface 320 may determine the level of authorization with which the user is associated [ act 1030 ]. a user &# 39 ; s level of authorization dictates which components , services , or records of the oss 130 to which the user is granted access . for example , a director of a company may have access to the records of all of the company &# 39 ; s employees . a supervisor in the company , however , may have access to only those records associated with employees under his / her immediate control . an employee may have access to only his / her own records . once the user is authenticated and a level of authorization has been determined , the network interface 320 may capture the user &# 39 ; s id 1110 and password 1120 [ act 1040 ] and transmit this information to the report unit 338 [ act 1050 ]. in one implementation consistent with the present invention , the network interface 320 captures the user &# 39 ; s id 1110 and password 1120 in a cookie and transmits this cookie to the report unit 338 . in the example given above , the cookie may contain the following information : in an alternative implementation , the network interface 320 may transmit the cookie to the report unit 338 in response to the user indicating a desire to view reports . for example , in response to the network interface 320 authenticating the user and determining a level of authorization , the network interface 320 may transmit one or more graphical user interface screens to the user device 120 to allow the user to perform account management and / or billing functions . fig1 illustrates an exemplary account management introductory screen 1200 that may be provided to the user by the network interface 320 in an implementation consistent with the present invention . as illustrated , the account management introductory screen 1200 allows the user to select from the following exemplary categories : order management 1210 , service management 1220 , and billing management 1230 . via the order management category 1210 , the user may create , modify , cancel , or view orders . via the service management category 1220 , the user may obtain reports and manage and provision ip communication services . via the billing management category 1230 , the user may view current or past invoices . upon selecting a link in one of the categories 1210 – 1230 , such as the reporting link , the network interface 320 provides the user with one or more screens for performing the desired function ( s ). assume that the user desires to obtain a near real - time report relating to port usage . to do so , the user may select the reporting link in the service management category 1220 illustrated in fig1 . in response , the network interface 320 may transmit the cookie , containing the user &# 39 ; s id 1110 and password 1120 to the report unit 338 . upon receipt of the cookie , the report unit 338 may automatically perform a login operation in a manner that is transparent to the user [ act 1060 ]. here , the report unit 338 may authenticate the user by , for example , comparing the user &# 39 ; s id 1110 and password 1120 to authorized identifiers and passwords . the report unit 338 may then determine the level of authorization with which the user is associated ( i . e ., determine to which reports the user is permitted access ). as indicated above , a director of a company may be permitted access to all of the company &# 39 ; s records . in such a situation , the report unit 338 could allow the director to generate reports based on all of the company &# 39 ; s records . in contrast , an employee may only have access to his / her own records . therefore , the employee may only obtain reports based on his / her own records . once the user is properly logged into the report unit 338 and the user &# 39 ; s level of authorization has been determined , the network interface 320 may transmit one or more graphical user interface screens to the user to allow the user to request one or more reports from the report unit 338 . fig1 illustrates an exemplary graphical user interface screen 1300 that may be provided to the user in an implementation consistent with the present invention . as illustrated , the user may select to receive reports on traffic usage 1310 , traffic monitoring 1320 , and priced reporting 1330 . it will be appreciated that the report unit 338 may provide other or different reports . the traffic usage link 1310 allows users to analyze overall usage patterns by providing port usage reports . these reports may be based , for example , on hourly , daily , or weekly data . the traffic monitoring link 1320 provides users with reports on near real - time port usage , congestion , delay , packet loss statistics , etc . to allow users to make traffic routing decisions and to track performance against service level agreements . the priced reporting link 1330 provides users with reports on port usage by location or enterprise , user features , etc . based , for example , on hourly , daily , or weekly data . the user may use these reports to analyze usage statistics . in response to the user selecting a particular report and inputting the desired parameters ( e . g ., a date range ), the report unit 338 may then generate the requested reports in a well known manner and provide the reports to the user via the network interface 320 [ act 1070 ]. the single sign on capability described above eliminates the need to replicate user and security information in a reporting system , making user administration a scalable process . moreover , the authentication and authorization process ensures that users access only those reports for which they have permission thereby protecting sensitive reports . implementations consistent with the present invention provide a single sign on capability to a report unit of an operational support system . the single sign on technique of the present invention eliminates the need for a user to login once to access the products and services ( e . g ., voip services ) offered by the operational support system , and a second time to access the reporting capability . the foregoing description of exemplary embodiments of the present invention provides illustration and description , but is not intended to be exhaustive or to limit the invention to the precise form disclosed . modifications and variations are possible in light of the above teachings or may be acquired from practice of the invention . for example , it will be appreciated that the present invention can be implemented in hardware , software , or a combination of hardware and software . thus , the present invention is not limited to any specific combination of hardware circuitry and software . moreover , while a series of acts has been described with respect to fig1 , the order of the acts may vary in other implementations consistent with the present invention . in addition , non - dependent acts may be performed in parallel . no element , act , or instruction used in the description of the present application should be construed as critical or essential to the invention unless explicitly described as such . also , as used herein , the article “ a ” is intended to include one or more items . where only one item is intended , the term “ one ” or similar language is used . the scope of the invention is defined by the claims and their equivalents .