Detailed Description
In order that the manner in which the above recited features and advantages of the present invention are attained and can be understood in detail, a more particular description of the invention, briefly summarized above, may be had by reference to embodiments thereof which are illustrated in the appended drawings. Other systems, methods, and/or features of the present embodiments will be or become apparent to one with skill in the art upon examination of the following detailed description. It is intended that all such additional systems, methods, features and advantages be included within this description. Included within the scope of the invention and protected by the accompanying claims. Additional features of the disclosed embodiments are described in, and will be apparent from, the following detailed description.
In the description of the present invention, it should be understood that, if there is an orientation or positional relationship indicated by terms such as "upper", "lower", "left", "right", etc., based on the orientation or positional relationship shown in the drawings, it is merely for convenience of describing the present invention and simplifying the description, and does not indicate or imply that the apparatus or component to be referred to must have a specific orientation. The terms describing the positional relationship in the drawings are merely for illustrative purposes and are not to be construed as limiting the present patent, and specific meanings of the terms are understood by those of ordinary skill in the art according to specific circumstances.
Exemplary embodiment one, an integrated travel itinerary formulation and execution service system, the service system comprising:
a server and a client which is in communication connection with the server and operated by a user;
the server includes a processor and a memory for storing instructions that, when executed by the processor, perform the following:
Receiving a travel request of a user from one or more of the clients;
Creating a travel item based on the travel request, wherein the travel item comprises one or more of a travel request, a travel map and user information;
analyzing the travel request and outputting a travel scheme conforming to the travel request;
Displaying a travel scheme to a user at a client;
Wherein, be provided with in the server:
a parser configured to generate a travel map associated with the travel item, the travel map comprising a plurality of nodes for expressing respective elements in a travel, and a map for describing dependencies between the nodes;
The system comprises a travel map, a scheduler, a travel scheme and a travel scheme, wherein the travel map is used for generating a travel structure based on the travel map, generating each node into tuples based on the travel structure, orderly arranging a plurality of tuples, screening the orderly arranged tuples based on the travel request of each user, and finally generating the travel scheme which accords with the travel request.
Preferably, the scheduler generates the run structure based on the run map, wherein the run structure includes an adjacency matrix, a hierarchy matrix, and a node topology generated for each node of the run map.
Preferably, the tuples at least comprise traffic tuples, accommodation tuples and scenic spot tuples.
Preferably, the elements of each traffic tuple at least comprise traffic type, departure date, departure time, arrival date and arrival time and journey price;
the elements of each accommodation tuple at least comprise accommodation type, accommodation date, accommodation time, departure date and departure time and accommodation price;
the elements of each scenic spot tuple at least comprise a scenic spot type, a starting time, an ending time and a scenic spot price.
Preferably, the scheduler comprises calculating the comprehensive score of each travel scheme after generating two or more travel schemes, and displaying the two or more travel schemes to a user at the client according to the descending order of the comprehensive scores.
Preferably, the server further comprises executing steps of waiting for a user to confirm a trip plan, and executing ticket operations of links in the middle based on the trip plan confirmed by the user, including service inquiry, reservation and confirmation.
Further, an integrated travel route making and executing service method is provided, the service method is applied to the service system, and the service method comprises the following steps:
receiving, by a server, a travel request of a user from one or more of the clients;
Creating a travel item based on the travel request, wherein the travel item comprises one or more of a travel request, a travel map and user information;
analyzing the travel request and outputting a travel scheme conforming to the travel request;
Displaying a travel scheme to a user at a client;
waiting for a user to confirm a journey scheme, and implementing ticket business operation of each link in the middle based on the journey scheme confirmed by the user, wherein the ticket business operation comprises service inquiry, reservation and confirmation;
Wherein, be provided with in the server:
a parser configured to generate a travel map associated with the travel item, the travel map comprising a plurality of nodes for expressing respective elements in a travel, and a map for describing dependencies between the nodes;
the system comprises a scheduler configured to generate a travel structure based on the travel map, generate each node into tuples based on the travel structure and orderly arrange the tuples, screen the orderly arranged tuples based on the travel request of each user and finally generate a travel scheme conforming to the travel request.
In particular, as shown in FIG. 1, an exemplary use scenario of the service system is illustrated, one or more users 130 entering their travel requests 120 through clients 140 and being sent by the client 140 devices to a server 400 of the service system. By way of example, client 140 may be an electronic computing device having a display interface that includes a Graphical User Interface (GUI) for presenting a user interface for services provided by a service system. In a typical GUI, the service system may allow the user 130 to interact with the service system conveniently and intuitively by providing graphical icons, visual indicators, or special graphical elements called "controls" instead of merely providing a text menu or requiring input commands. The travel request 120 is transmitted over the network 110 to the service system 400 and the user request 120 is converted by the service system 400 into a solution for travel itinerary formulation and execution.
Preferably, network 110 may include the Internet or any other network capable of transmitting data between devices. Suitable networks may include or be connected to any one or more of a Local Area Network (LAN), a Personal Area Network (PAN), a Wide Area Network (WAN), a Metropolitan Area Network (MAN), a Virtual Private Network (VPN), a Storage Area Network (SAN), a frame relay connection, an advanced intelligent network connection, a synchronous fiber network connection, an Asynchronous Transfer Mode (ATM) connection, a Fiber Distributed Data Interface (FDDI), or a copper distributed data interface connection. In addition, communications may be through a variety of wireless networks including Wireless Application Protocol (WAP), general Packet Radio Service (GPRS), global System for Mobile communications (GSM), code Division Multiple Access (CDMA), time Division Multiple Access (TDMA), cellular telephone networks, global Positioning System (GPS), cellular Digital Packet Data (CDPD), duplex paging networks, bluetooth radios, or IEEE 802.11-based radio frequency networks. The network 110 may also include or be connected to any one or more of an RS-232 serial connection, an IEEE-1394 (Firewire) connection, a fibre channel connection, an infrared (IrDA) port, a Small Computer System Interface (SCSI) connection, a Universal Serial Bus (USB) connection, or other wired or wireless, digital or analog interface or connection. Network 110 may be a network of data processing nodes that are interconnected for the purpose of data communication. Network 110 may include routers and switches, or any other number and type of devices, for forwarding instructions, content, and/or network object requests from each client 140 to server 400, and for returning responses of the service system to clients 140.
Preferably, the client 140 may be a mobile phone, a Personal Computer (PC), a notebook computer, a smart phone, a tablet computer, etc. Server 400 may be based on a distributed application running and may include a central component residing on the server and one or more client applications residing on one or more user devices that communicate with the central component over network 110. User 130 may communicate with server 400 through a client application on client 140.
Preferably, a database is set in the server 400, and the database is used for storing a series of processes or result data generated in the working process of the service system. The server 400 analyzes based on the provided needs of the user 130 to generate a itinerary arrangement 160 that matches one or more itinerary requests 120 and preferences of the user 130. The itinerary arrangement 160 may be presented to the user 130 through a graphical user interface of the client 140.
Referring now to fig. 2, a flow diagram illustrating the process by which the service system generates a particular itinerary based on the itinerary requests 120 is shown, by way of example, when the service system receives an itinerary request 120 from one or more users, an itinerary item 330 is created in the server 400. The travel item 330 is a set of data containing the travel request 120, user information, and a travel pattern 340 created by the parser 310 in a subsequent process, a travel structure created by the scheduler 320 (such as an adjacency matrix, a hierarchy matrix, and a topology as described below), a partition list, and a final travel scheme 160, function calls required for an operation, and other related items (such as a dialog message, etc.). The itinerary item 330 may contain all information needed by the scheduler 320 and the scheduler 320 to generate an itinerary arrangement. Preferably, data transmission is maintained between the parser 310 and the scheduler 320 to update the data generated and required respectively.
Wherein the travel item 330 is sent to the parser 310 when created. The parser 310 creates the travel pattern 340 and forwards the travel pattern 340 to the scheduler 320. Scheduler 320 analyzes travel patterns 340, the user's profile, and the availability of the contents of the travel.
Preferably, the main process at scheduler 320 includes pre-scheduling at pre-scheduling module 322, and then forwarding the trip map 340 to resource scheduling module 324 for resource scheduling based on trip map 340. Upon completion of the resource scheduling, the generated tuple list 370 and the itinerary 380 are provided to the integration module 326, ultimately outputting the itinerary arrangement 160.
Wherein the tuples 370 may be grouped according to the passenger's specific situation and needs and a subset of partitions may be determined based on relationships or attributes between the tuples. For each passenger, one or more partitions of travel tuples associated with the passenger may be created. The content search may be performed on the subset of partitions and the content search results of the subset of partitions are applied to Cartesian product calculations. The itinerary arrangement 160 appropriate for the itinerary request 120 may be forwarded to the user interface 220. The processes performed by the parser 310 and scheduler 320 will be described in further detail below.
As shown in fig. 3, the generating step of the trip scenario 160 is illustratively specified, including:
S310, receiving a travel request 120 of a user, wherein the travel request 120 can be input by the user 130 through natural language or through text selection preset by a service system, and preferably, the travel request 120 can comprise one or more requirements of the user 130. Preferably, the trip request 120 may include details of one or more of the user's 130 destination location, destination sight, travel time, price, quality of service requirements, etc. Finally, the above information is consolidated into specific data that can be interpreted by an analysis program of the service system.
S320, analyzing the specific data of the travel request 120 generated in the step S310 by the analyzer 310, and constructing a travel map 340.
Preferably, the travel map 340 is used to represent travel elements and their interrelationships. The trip map 340 includes a node list, where each node represents a basic component of a trip, for example, a city node represents a departure city, a passing city and a destination city, a flight and train number node represents a flight or train number that a user may select, a scenic spot represents a specific sightseeing spot specified by the user, and further may further include a hotel node and the like.
Preferably, each node contains attribute information whose content is determined by the node type, such as a city name or a specific location, time, departure time, arrival time, check-in time, activity time, etc., service requirements, such as a flight, a class of cars, a hotel class, etc., and each node also includes a consumption level fee, etc.
Further, the trip map 340 further includes a dependency list, where the dependency list is used to describe a logical relationship and a dependency condition between nodes, for example, a flight, a number of vehicles, a hotel node, a destination city node or a scenic spot node, and optionally, a cooperative relationship between users.
The dependency relationship comprises explicit dependency and implicit dependency, wherein the explicit dependency is explicitly specified by user requirements, the implicit dependency is not explicitly specified by users, but can be automatically deduced according to journey logic (such as flight and train number arrival time influence hotel check-in time, scenic spot visit time and the like).
Preferably, the parser 310 stores, validates and outputs the generated trip spectrum, and validates the trip spectrum 340 to ensure the integrity and consistency of the trip spectrum, and ensures that all the dependency relationships and node attributes meet the logic requirements of the trip request 120.
S330, executing a pre-scheduling process. Preferably, in the pre-scheduling process, an adjacency matrix of the journey is firstly established, and the adjacency matrix is used for expressing the direct dependency relationship between the nodes. The adjacency matrix is an n x n matrix where n is the number of nodes in the travel network 340 to represent the direct dependencies between the nodes. Each node represents an element in the travel network, such as, for example, a city, a flight, a number of cars, a sight, etc., and each entry of the matrix represents whether a dependency exists between two nodes.
Wherein, for an adjacency matrix a, the elements inside it in i rows and j columns can be expressed as:
That is, when two nodes have a relationship, then the intersection of the two takes a value of 1, and no relationship takes a value of 0, and optionally, before the calculation begins, takes a default value of-1.
Preferably, a logical tree or artificial intelligence can be utilized to derive implicit dependencies between two nodes, such as whether a hotel is in a designated destination city.
Preferably, the adjacency matrix a is extended to (n+2) × (n+2), and the two extended nodes represent the start node and the end node respectively, so that the adjacency matrix a has stronger flexibility when the multipath or cross-layer dependence needs to be uniformly handled, and the two additional nodes are utilized to realize quick addition or modification of the dependence relationship without readjusting the structure of the whole matrix.
Examples of trip networks starting from Beijing to Guangzhou include, for example, high-speed rail and Guangzhou hotels. The specific travel is simply described as:
(1) Setting a travel node:
starting point Beijing (urban node).
High-speed rail-Beijing to Guangzhou high-speed rail (high-speed rail node).
Hotel-Hotel in Guangzhou (Hotel node).
And finishing the logic node of the journey.
The nodes can be set as follows:
Node 1, the starting node (virtual node);
Node 2, beijing (urban node);
Node 3, beijing to Guangzhou high-speed rail (high-speed rail node);
node 4, guangzhou hotel (hotel node);
node 5, destination node (virtual node);
(2) Establishing dependency filling:
beijing- & gt high-speed rail, the departure of high-speed rail depends on Beijing;
High-speed rail→hotel in guangzhou: hotel check-in depends on high-speed rail arrival time;
the hotel in Guangzhou- & gt is finished, and enters an ending node after the journey is completed;
according to the travel dependency, the following dependencies are filled into the matrix:
the starting node depends on Beijing: A [1,2] =1;
high-speed rail depends on Beijing: A [2,3] =1;
the Guangzhou hotel relies on high-speed rail: a [3,4] =1;
endpoint depends on the state hotel: a [4,5] =1;
(3) The numerical setting of the matrix, namely:
after processing the irrelevant nodes, there are:
The above is merely illustrative of one example. The node setting mode can comprise more choices, and for example, the trip mode can comprise an airplane, a high-speed rail, a rapid transit railway, a coach, a self-driving trip and the like. In yet other embodiments, the user may specify a consumption level, such as specifying a single-pass price for two places as an upper 300-element, or a hotel per night price as an upper 300-element, and the price factor may be such that the higher price hotel or trip dependency is eliminated when establishing the adjacency matrix.
In more embodiments, a plurality of price intervals can be set, so that the dependency relationship of scenic spots, travel modes, hotels or services of the corresponding price intervals can be more definite.
Further, a hierarchical matrix L is established. The hierarchical matrix L is a matrix of scale (m+1) × (n+1), where m is the maximum number of layers in the travel graph 340 and n is the number of nodes in the travel graph 340. Wherein the row index represents a hierarchy (Level), starting from Level-0, and the column index represents the order of nodes in each Level.
When executed, the method comprises the following steps:
(1) In the adjacency matrix A, all nodes without any dependence (i.e. degree of entry is 0) are searched and taken as the nodes of Level-0, taking the following matrix as an example:
the node with the ingress of 0 is column 1, representing node 1.
The resulting hierarchical matrix is:
(2) The next level node is identified. For the nodes in each layer, other nodes in the adjacency matrix that depend on these nodes (degree of outages 1) are found. Fill these nodes into the next row (Level i+1) and record the processed nodes. For example:
level 0 node 1 (Beijing).
Level 1 node 2 (Beijing-Guangzhou high speed rail), matrix update:
(3) The matrix updating is repeatedly performed, the dependency relationship of the node of the upper layer is continuously checked, the next row of the matrix is filled until all the nodes are processed, and each node can only appear once in the matrix.
By constructing the hierarchical matrix, the dependency structure of each node is clearly understood, and the scheduler can conveniently execute according to the dependency sequence in the scheduling process, namely the hierarchical matrix can ensure that all the dependent nodes of a specific node are scheduled when forward transmission is executed. Meanwhile, the topological structure can be directly generated from the hierarchical matrix, and the topological structure is processed in a row-from-top-to-bottom ordering manner when the topological structure is executed.
And S340, constructing a topological structure of the travel map 340 based on the adjacency matrix and the hierarchy matrix. The topology is an ordered list of nodes in the travel graph 340 arranged in order to provide a clear execution path for scheduling and optimization of the service system.
For example, taking the above-mentioned Beijing to Guangzhou journey as an example, through basic topological sorting, the scheduling sequence of the nodes is 1-Beijing→2-high-speed rail→3-Guangzhou hotel, and multiple branches can be performed subsequently, for example, the nodes arrive at the hotel first, or arrive at the scenic spot first, then return to the hotel, and the like, so as to form the topological structure shown in fig. 4.
The topology structure ensures that the high-speed rail can be started only after the high-speed rail is finished by Beijing, and the Guangzhou hotel can be arranged to stay after the high-speed rail reaches Guangzhou.
By topology, the travel map 340 is given the following features:
The topology ordering eliminates the uncertainty in the dispatching, avoids unordered traversal, and remarkably improves the efficiency, each node only needs to execute according to the topology order, does not need to additionally check the dependency condition, and does not need to repeatedly check whether the dependency relation is satisfied in the dispatching process.
In a complex journey, such as a scene of multi-person travel sharing vehicles and accommodations, the topological structure can clearly identify shared resources, such as how the same class of high-speed rail is arranged in the journey of multiple users, and the service system ensures that the dependency relationship of all the shared users is correctly processed through the topology.
Moreover, the topology is flexible to support dynamic adjustment, especially when user demands or journey conditions change. For example, when a user changes a journey (e.g., modifies time or manner), the system may dynamically reorder based on topology, requiring only the portions associated with the changed nodes to be modified, without the need to reconstruct the entire journey network. For example, after the user changes the traffic mode from high-speed rail to airplane flight, the system can quickly regenerate topology:
the original topology comprises Beijing- & gt high-speed rail- & gt Guangzhou hotel;
new topology Beijing→flight→Guangzhou hotel.
And based on the topology structure, the scheduling of the journey supports multi-objective optimization, the system can optimize the node attribute according to the level in the topology, and the global optimization meeting the user priority can be realized by adjusting the topology sequence. For example, when the user prefers to have a priority in price, the service system prefers to use the option with the lowest price in the vehicle selection layer, and when the user prefers to have a priority in time, the service adjusts the topological order, prefers to use the node with the highest time matching degree.
And the topology structure provides dispatch output, so that the execution efficiency of tasks can be improved, for example, according to the topology, the service system gradually transmits the nodes to the execution module to branch tasks, for example, a high-speed rail ticket is sequentially generated, hotel reservation is completed, and the like. On the other hand, based on the characteristics of the topological structure, the system can process nodes without direct dependence in different levels at the same time, and the resource utilization rate is improved. For example, in the same hierarchy, if hotel reservations do not directly depend on high-speed rail schedules, the service system can complete the two tasks in parallel.
And S350, generating a time window of each node in the journey, and making relevant independent scheduling of resources. Wherein, the independent scheduling of the resources refers to the following two steps of operations, including:
In the resource independent stage, only the theoretical time range and attribute of each node are calculated, and the method is independent of specific actual resources;
And in the resource matching stage, an abstract time range and a logic relationship are provided, so that the subsequent dynamic matching with the actual available resources (such as flights and hotels) is facilitated.
For a traffic trip, a start time t start and an end time t end of the trip are set, and for the start time and the end time, respectively, a time window interval may be set.
In an exemplary embodiment, according to the user's journey request, for a traffic node, the departure time is 2024, 12, 20 days, 8:00 am to 10:00 am, and the journey time is about 4.5 hours, then the time window may be set to:
Departure time window= [2024-12-20-08:00,2024-12-20-10:00];
Arrival time window= [2024-12-20-12:30,2024-12-20-14:30].
In an exemplary embodiment, the start time for a attraction node is based on the arrival time of a dependent node, e.g., dependent on the arrival time of the traffic journey used, in accordance with the user's journey request. The end time of the scenic spot node may be set to an end time window according to a travel request of the user or a recommended travel time of the scenic spot.
And S360, establishing each node as a tuple. A tuple is a structured collection of data containing a plurality of attributes representing all of the critical information of a node in a travel network. Preferably, one tuple may include the following information:
Node types such as city nodes, traffic nodes (flights, high-speed rails), hotel nodes, etc.;
time window attributes such as departure, arrival time of the train number, check-in/check-out time of the hotel;
Price attribute, cost associated with the node;
Additionally, location attributes, constraint attributes, and the like are included.
As one example, the tuple structure of one high-speed rail node is as follows:
tuple_train= (node type: high-speed rail, departure time window: [9:00,12:00], arrival time window: [15:00,18:00], price: 400 yuan).
The method is characterized in that the method comprises the steps of establishing a tuple, wherein the tuple comprises the key information such as time, price and the like of the node, and is used for directly inputting resource allocation and optimization executed by the scheduler, the tuple can carry constraint conditions of the node, such as time limit, price upper limit and the like, and the scheduler can conveniently and rapidly screen the node meeting the conditions in the optimization process.
And, tuples support grouping or combining by attributes to form partition subsets for generating complete travel solutions. For example Gao Tieyuan groups can be matched with hotel tuples according to time window to produce complete traffic and accommodation solution, or the tuples of several travel modes, for example matched Gao Tieyuan groups and car tuples, can be matched according to price interval so as to form a travel route.
Preferably, the tuples are calculated using a cartesian integration algorithm, and a plurality of tuples are used as input units of the cartesian integration algorithm for generating a complete run solution.
For example, a Cartesian product of a high-speed rail tuple and a hotel tuple may generate a scheme of (high-speed rail A, hotel X), (high-speed rail A, hotel Y), (high-speed rail B, hotel X), (high-speed rail B, hotel Y);
after the tuple is established, sufficient information is available for specific scheduling of subsequent schedulers.
And S370, carrying out Cartesian product calculation on a plurality of tuples or tuple combinations so as to fully arrange the tuples of the plurality of nodes to form a complete travel solution. And verifying the dependency relationship among the nodes, such as the consistency of the arrival time of the train number and the check-in time of the hotel, and whether all the nodes in the same journey meet the logic sequence. The final output is a complete travel solution set that satisfies all constraints.
The method comprises the following specific steps:
(1) A subset of partitions is input, each subset of partitions containing all tuples of one node type, from the packet processing of step S360.
(2) A cartesian product calculation is performed. A cartesian product is a full permutation of all the subsets of partitions, resulting in a set containing all possible combinations. If there are u subsets of partitions, each partition having k i tuples, the total number of combinations is:
all possible scenarios in the travel map are generated by the Cartesian product operation, covering user requirements and node constraints.
(3) After verifying the time and logic relationship between each node in the combination, a feasible scheme is screened.
(4) And outputting the stroke combination containing all the meeting conditions.
And S380, sequencing all feasible travel solutions. The goal of the ranking is to generate an optimal solution list based on the preferences and constraints of the passengers to facilitate user selection.
Preferably, the feasible travel schemes processed in S370 are collected as input, wherein each feasible travel scheme is a combination of a group of tuples, and a complete travel is described.
Preferably, the basis of ranking consists of several factors:
Price: total cost of travel (including flights, hotels, etc.).
Time, namely matching degree of departure time, arrival time and arrival time.
Passenger preferences such as lowest preferred price, shortest time or highest quality of service.
Other constraints are for example whether the specified time frame is met, whether the passenger's service level requirements (e.g. first class, luxury hotel) are met, etc.
Preferably, a composite score S is calculated for each trip solution, the score calculation combining a plurality of weight factors, in one exemplary embodiment, the composite score S is calculated as:
S=wp·price score +wt · time score + ws-service score;
Wherein wp, wt, ws correspond to the weights of price, time, and service score, respectively, and can be analyzed according to the travel request 120 submitted by the user.
Preferably, the price score may be calculated based on total cost, e.g., traffic cost + hotel cost + service cost + sight cost + insurance cost, according to the formula price score = lowest total cost for all solutions/current solution total cost.
Preferably, the time score considers the matching of the user's preferred time and the schedule time, and illustratively, for one of the trips (e.g., flights, number of passes) may be calculated using the following calculation:
The maximum time tolerance is the length of time allowed to be slack that allows the user to adjust themselves.
Preferably, the service score is based on the service level in the solution, such as flights, billboards, hotel stars, etc., with higher scores indicating better quality of service.
Finally, all the feasible solutions are arranged in a descending order according to the comprehensive score S.
Second embodiment this embodiment should be understood to include at least all of the features of any of the foregoing embodiments, and further improvements thereto.
An exemplary embodiment of a computer system 500 used by the server is illustrated in fig. 5. The computer system 500 may be used for data storage, operation, and output of results for identifying and determining various operational modules in the system.
Computer system 500 illustratively includes a bus 502 or other communication mechanism for communicating information, one or more processors 504 coupled with bus 502 for processing information, and processor 504 may be, for example, one or more general purpose microprocessors.
Computer system 500 further includes a main memory 506, such as a Random Access Memory (RAM), cache memory, and/or other dynamic storage device, coupled to bus 502 for storing information and instructions to be executed by processor 504, main memory 506 also being used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor 504, which when stored in a storage medium accessible to processor 504, render computer system 500 as a special-purpose machine that is customized to perform the specified operations in the instructions.
Computer system 500 may also include a Read Only Memory (ROM) 508 or other static storage device coupled to bus 502 for storing static information and instructions for processor 504, as well as a storage device 510, such as a magnetic disk, optical disk, or USB drive (flash drive), coupled to bus 502 for storing information and instructions.
And further, coupled to bus 502 can also include a display 512 for displaying various information, data, media, etc., an input device 514 for allowing a user of computer system 500 to control, manipulate computer system 500, and/or interact with computer system 500.
A preferred way of interacting with the management system may be through a cursor control device 516, such as a computer mouse or similar control/navigation mechanism.
Further, computer system 500 may also include a network device 518 coupled to bus 502, wherein network device 518 may include components such as a wired network card, a wireless network card, a switching chip, a router, a switch, etc.;
In general, the terms "engine," "component," "system," "database," and the like as used herein may refer to logic embodied in hardware or firmware, or to a collection of software instructions, possibly with entries and exit points, written in a programming language such as Java, C, or C++, software components may be compiled and linked into executable programs, installed in a dynamically linked library, or written in an interpreted programming language (e.g., BASIC, perl, or Python), it being understood that software components may be invoked from other components or from themselves, and/or may be invoked in response to detected events or interrupts.
Software components configured to execute on a computing device may be provided on a computer readable medium, such as an optical disk, digital video disk, flash drive, magnetic disk, or any other tangible medium, or as a digital download (and may be initially stored) in a compressed or installable format, requiring installation, decompression, or decryption prior to execution, such software code may be stored in part or in whole on a memory device executing the computing device for execution by the computing device, software instructions may be embedded in firmware, such as EPROM, it being further understood that the hardware components may be composed of connected logic units (e.g., gates and flip-flops), and/or may be composed of programmable units (e.g., programmable gate arrays or processors).
Computer system 500 includes computing devices that can implement the techniques described herein using custom hardwired logic, one or more ASICs or FPGAs, firmware, and/or program logic, which in combination with a computer system, make computer system 500 a special purpose computing device.
In accordance with one or more embodiments, the techniques herein are performed by computer system 500 in response to processor 504 executing one or more sequences of one or more instructions contained in main memory 506, such instructions may be read into main memory 506 from another storage medium, such as storage device 510, execution of the sequences of instructions contained in main memory 506 causing processor 504 to perform the process steps described herein, and hardwired circuitry may be used in place of or in combination with software instructions in alternative embodiments.
The term "non-transitory medium" and similar terms as used herein refer to any medium that stores data and/or instructions that cause a machine to operate in a particular manner, such non-transitory medium may include non-volatile media including, for example, optical or magnetic disks, such as storage device 510, and/or volatile media including dynamic memory, such as main memory 506.
Common forms of non-transitory media include, for example, a floppy disk, a flexible disk, hard disk, solid state drive, magnetic tape, or any other magnetic data storage medium, a CD-ROM, any other optical data storage medium, any physical medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, an NVRAM, any other memory chip or cartridge, and network versions thereof.
Non-transitory media are different from, but may be used in combination with, transmission media that participates in the transmission of information between the non-transitory media, such as coaxial cables, copper wire and fiber optics, including the wires that comprise bus 502, and transmission media that may also take the form of acoustic or light waves, such as radio-wave and infrared data communications.
While the application has been described above with reference to various embodiments, it should be understood that many changes and modifications can be made without departing from the scope of the application. That is, the methods, systems and devices discussed above are examples. Various configurations may omit, replace, or add various procedures or components as appropriate. For example, in alternative configurations, the methods may be performed in a different order than described, and/or various components may be added, omitted, and/or combined. Moreover, features described with respect to certain configurations may be combined in various other configurations, such as different aspects and elements of the configurations may be combined in a similar manner. Furthermore, as the technology evolves, elements therein may be updated, i.e., many of the elements are examples, and do not limit the scope of the disclosure or the claims.
Specific details are given in the description to provide a thorough understanding of exemplary configurations involving implementations. However, configurations may be practiced without these specific details, e.g., well-known circuits, processes, algorithms, structures, and techniques have been shown without unnecessary detail in order to avoid obscuring configurations. This description provides only an example configuration and does not limit the scope, applicability, or configuration of the claims. Rather, the foregoing description of the configuration will provide those skilled in the art with an enabling description for implementing the described techniques. Various changes may be made in the function and arrangement of elements without departing from the spirit or scope of the disclosure.
It is intended that the foregoing detailed description be regarded as illustrative rather than limiting, and that it be understood that it is intended that it be regarded as illustrative rather than limiting. Various changes and modifications to the present invention may be made by one skilled in the art after reading the teachings herein, and such equivalent changes and modifications are intended to fall within the scope of the invention as defined in the appended claims.