US11863407B2 - System and method for efficient numerical data model, memory management, streaming aggregation and contextual event checks in large semi-structured datasets - Google Patents
System and method for efficient numerical data model, memory management, streaming aggregation and contextual event checks in large semi-structured datasets Download PDFInfo
- Publication number
- US11863407B2 US11863407B2 US17/818,114 US202217818114A US11863407B2 US 11863407 B2 US11863407 B2 US 11863407B2 US 202217818114 A US202217818114 A US 202217818114A US 11863407 B2 US11863407 B2 US 11863407B2
- Authority
- US
- United States
- Prior art keywords
- data
- digit numbers
- subscriber
- dpi
- data stream
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active, expires
Links
- 238000000034 method Methods 0.000 title claims abstract description 80
- 238000013499 data model Methods 0.000 title abstract description 12
- 238000007726 management method Methods 0.000 title description 15
- 230000002776 aggregation Effects 0.000 title description 12
- 238000004220 aggregation Methods 0.000 title description 12
- 238000007689 inspection Methods 0.000 claims abstract description 10
- 238000004891 communication Methods 0.000 claims description 16
- 230000000694 effects Effects 0.000 claims description 11
- 238000013507 mapping Methods 0.000 claims description 10
- 230000004931 aggregating effect Effects 0.000 claims description 5
- 239000002131 composite material Substances 0.000 claims description 3
- 230000008685 targeting Effects 0.000 abstract description 5
- 238000009825 accumulation Methods 0.000 abstract description 3
- 230000001747 exhibiting effect Effects 0.000 abstract description 2
- 230000001737 promoting effect Effects 0.000 abstract 1
- 238000012545 processing Methods 0.000 description 36
- 230000006399 behavior Effects 0.000 description 31
- 230000008901 benefit Effects 0.000 description 25
- 230000006870 function Effects 0.000 description 15
- 238000003860 storage Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 12
- 238000004590 computer program Methods 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 6
- 230000008520 organization Effects 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 5
- 230000003542 behavioural effect Effects 0.000 description 5
- 230000001186 cumulative effect Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000002372 labelling Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000012552 review Methods 0.000 description 4
- 238000013523 data management Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000001351 cycling effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000037361 pathway Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000005056 compaction Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000002354 daily effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000002459 sustained effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
- 230000007306 turnover Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/028—Capturing of monitoring data by filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0245—Filtering by information in the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Definitions
- the instant disclosure generally relates to electric digital data processing, namely methods or arrangements for processing data by operating upon the order or content of the data handled. More particularly, the instant disclosure relates to sorting, storage, and processing of high-volume incoming data into machine-readable algorithmic formats which can be quickly analyzed and acted upon.
- the instant disclosure is not limited to any particular data type, business use, industry, operating system, or implementation.
- Most large businesses have a large volume of customers or subscribers. To accommodate the large volume of data associated with transactions related to their customers or subscribers, they may use one or more data stores sufficient to store a large volume of data concerning their customers or subscribers, their customers' or subscribers' activity or purchases, and other relevant data about their customers or subscribers. Additionally, these large companies also receive, send, process, analyze, report on, and otherwise handle large amounts of incoming and outgoing data. Day-to-day interactions and transactions may be recorded or collected, stored, processed, managed, or used to generate insights about the customers or subscribers, which may be acted upon to offer new opportunities for both the business and its customers. These data stores may often be repositories of information and data (i.e., databases) by which business and marketing operations may base their actions upon.
- these data stores may be queried in order to find a particular customer or group of customers with one or more of a particular set of attributes. For instance, an accounts receivable department may need to obtain from its data store or data stores a list of subscribers whose invoice date falls on a particular day in the month and who have chosen to be automatically invoiced by credit card or ACH. In another instance, a marketing department may need to obtain from its data store a list of subscribers who have been a customer of the business for more than a specific number of years in order to reward those customers for their length of patronage. Additionally, automatic systems may be implemented to generate their own assessments of data, based on any number of criteria which may be important to the interaction of the business and its customers.
- a marketing department in a wireless telecommunications company may wish to automatically identify particular classes or behaviors of subscriber sub-populations in order to increase its subscription or top-up revenue, thereby generating lists of customers for whom certain marketing offers may be highly relevant to those various specific classes or behaviors.
- ERP Enterprise Resource Planning
- CRM Customer Relationship Managers
- subscriber usage monitors accounting software, distribution platforms, and business intelligence solutions.
- the data store and corresponding ERP system or platform may function as a transactional system, as online transaction processing databases, as an operational database management system, as a distributed database system offering similar functionality, and/or a combination of the like, whereby the transaction itself may be performed utilizing the ERP system or platform and the resulting data need not be stored on, recorded on, or otherwise copied to or from a separate a centralized data store.
- the data store and corresponding ERP system or platform may often but not always be stored in a relational database or table on a server connected to a network. Additionally, incoming data may be first stored in memory, the organization and transfer of which may be important to the speed at which automatic systems may store, analyze, report, and/or act upon incoming data.
- a central data store or distributed data stores from which the ERP system or platform operates may not receive, store, or be able to timely process relevant data in order to communicate business-relevant offers or alerts to its customers, such that by the time such an offer reaches its customer, it is already too late for the business or the customer to benefit.
- organizations may increase or improve the bandwidth, processing power, or other known technologies within their incoming data management and processing system. Obvious tradeoffs to such decisions exist and are known in the art to include expense of equipment and cost of powering and maintaining said equipment.
- Other means may be rule-based or AI-assisted data handling and/or indexing of incoming data in order to better organize data during storage such that it can be more quickly accessed later.
- DPI Deep packet inspection
- OSI Open Systems Interconnection
- Deep packet inspection examines the contents of packets passing through a given checkpoint and makes real-time decisions depending on what a packet contains and based on rules assigned by an enterprise, an internet service provider (ISP) or a network manager.
- ISP internet service provider
- Previous forms of packet filtering only looked at packet header information, which is analogous to reading an address printed on an envelope without any knowledge of the contents of the envelope. This was due partly to the limitations of older technology.
- firewalls and other network security/management systems did not have the processing power necessary to perform deeper inspections on large volumes of traffic in real-time. Technological advancements have enabled DPI to perform more advanced inspections so that it can check both packet headers and data.
- DPI can examine the contents of a message and identify the specific application or service that sent it.
- filters can be programmed to look for and reroute network traffic from a specific Internet Protocol address range or a certain online service, such as FACEBOOK® or TWITTER®.
- DPI rarely is DPI used to inspect business/subscriber-relevant data in order to determine business opportunities to increase the utility/relevance of the subscription to the subscriber and the profitability of the business.
- the present disclosure overcomes the above-mentioned disadvantages and meets the recognized need for such a system and method in order to efficiently parse semi-structured Deep Packet Inspection (DPI) traffic tied to an entity at million-records-per-second scale by using a numerical data model, leveraged on proven fundamental algebraic techniques and shortcuts to label streaming traffic on-the-fly, then perform parallel accumulation of data into business-grade counters using elementary techniques and subsequently identifying subscribers exhibiting specific data patterns in real-time for contextual targeting and marketing offers.
- DPI Deep Packet Inspection
- the disclosed system may include a numerical data model for semi-structured DPI data, fast tags on numerical records using basic algebraic and/or mathematic procedures, fixed-width counters, semi-flexible grains, business datatype aware pool-based memory management, and/or embedded rule-based event trip framework with sense check.
- the disclosure may include a numerical data model for semi-structured DPI data.
- the numerical data model for semi structured Deep Packet Inspection data may be centered around a subscriber where every record may be parsed using algebraic techniques instead of conventional text processing techniques and may further be mapped to a fixed width 86-digit base 16 number.
- the disclosure may include fast tags on numerical records.
- Fast tags on numerical records may be computed using basic rules of divisibility which may then used for quick labelling of DPI traffic using modulo arithmetic followed by conventional look up. It may be appreciated by those skilled in the art that fast tags may be very useful as a shortcut for skipping/ignoring certain non-qualifying data and/or rules before even evaluating them, thereby avoiding waste in data processing and handling.
- the disclosure may include fixed width counters. Specifically, Hour of the Day (HOD) and Hour to Day (HTD) counters may be preformatted with addressable data labels and accumulation bins into which streaming numerical records may be channelized en route while possibly being subjected to a label-accumulate-check-fire command pipeline.
- HOD Hour of the Day
- HTD Hour to Day
- the disclosure may include semi flexible grains.
- the semi-flexible grains may be on and/or associated with preformatted HTD counters with an ability to choose any 3 grains for recent past aggregation from a master set of 12 grains that are factors of 60.
- the factors of 60 (1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30, and 60), may be chosen in order to associate different factors with different traffic types to align with business interests, in order to achieve the right balance between accuracy, speed, memory and computing resources required.
- the disclosure may include a business datatype aware pool-based memory management.
- each pool of the business datatype aware pool-based memory management may include having allocation, coalesce, and compaction algorithms designed to be optimal considering the tenure and volatility of the respective pool, so as to adapt with varied demands on data retention and access in line with varied nature of data.
- this data or pools may include subscriber location, subscriber traffic type, previous pack/subscription purchases, the like and/or combinations thereof.
- the disclosure may include an embedded rule-based event trip framework with a sense check.
- the embedded rule-based event trip framework with sense check may be understood by those having skill in the art to suppress trivial repeat violations of the same rule so as to not choke or otherwise bottleneck other downstream components in the larger network of systems where not all modules can handle million-records-per-second scale of data.
- One benefit of the present disclosure may be its ability to parse and label semi-structured telecom (or otherwise) grade datasets at the scale of one million records per second using minimal resources owing to leverage of numerical data models and algebraic techniques. Additional benefits may be achieved by accumulating DPI streaming data into business relevant bins based on labelled traffic types in real time, thus making the whole information more useful for subsequent business analysis. Furthermore, the ability to support real time decisioning rules by organizing labelled counters into time aware bins such as “Last 1 minute”, “Last 2 minutes”, “Last 5 minutes”, etc.
- Another benefit of the present disclosure may be its holistic packaging of many trivial and proven techniques spanning across parsing, labelling, aggregation and event trip with sense check, into an integrated module for realizing a tangible business case like contextual targeting on streaming data at scale to obtain a highly implementable toolkit for data handling at massive scale.
- the benefits to a business implementing the disclosed system and method for efficient numerical data model, memory management, streaming aggregation and contextual event check in large semi-structured datasets may include but are not limited to efficient data processing, reduction in time to make observations and/or assessments of subscriber-relevant data, increased subscriber acceptance of marketing offers, greater applicability and relevance of such observations/assessments, decreased operating costs, and increased revenue/profit.
- FIG. 1 is a block diagram of a computer system of the present disclosure
- FIG. 2 is a block diagram of a communications system implemented by the computer system in FIG. 1 ;
- FIG. 3 is a block diagram illustrating various subscriber devices within an exemplary telecom network
- FIG. 4 is a flowchart showing the disclosed method steps of initial incoming data receipt/handling/processing
- FIG. 5 is a block diagram illustrating an exemplary physical memory unit
- FIG. 6 is a block diagram illustrating a simplified exemplary efficient incoming data management/parsing
- FIG. 7 is a block diagram illustrating a proposed exemplary subscriber classification mechanism
- FIG. 8 is a flowchart illustrating a proposed exemplary subscriber profile assessment cycle.
- FIG. 9 is a diagram illustrating an exemplary switching process to designate certain modes of operation.
- the present disclosure may be embodied as a method, data processing system, or computer program product. Accordingly, the present disclosure may take the form of an entirely hardware embodiment, entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present disclosure may take the form of a computer program product on a computer-readable storage medium having computer-readable program code means embodied in the medium. Any suitable computer readable medium may be utilized, including hard disks, ROM, RAM, CD-ROMs, electrical, optical, magnetic storage devices, solid-state drives (SSDs) and the like.
- These computer program instructions or operations may also be stored in a computer-usable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions or operations stored in the computer-usable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart block or blocks/step or steps.
- the computer program instructions or operations may also be loaded onto a computer or other programmable data processing apparatus (processor) to cause a series of operational steps to be performed on the computer or other programmable apparatus (processor) to produce a computer implemented process such that the instructions or operations which execute on the computer or other programmable apparatus (processor) provide steps for implementing the functions specified in the flowchart block or blocks/step or steps.
- blocks or steps of the flowchart illustrations support combinations of means for performing the specified functions, combinations of steps for performing the specified functions, and program instruction means for performing the specified functions. It should also be understood that each block or step of the flowchart illustrations, and combinations of blocks or steps in the flowchart illustrations, can be implemented by special purpose hardware-based computer systems, which perform the specified functions or steps, or combinations of special purpose hardware and computer instructions or operations.
- Computer programming for implementing the present disclosure may be written in various programming languages, database languages, and the like. However, it is understood that other source or object-oriented programming languages, and other conventional programming language may be utilized without departing from the spirit and intent of the present disclosure.
- FIG. 1 there is illustrated a block diagram of a computer system 10 that provides a suitable environment for implementing embodiments of the present disclosure.
- the computer architecture shown in FIG. 1 is divided into two parts—motherboard 100 and the input/output (I/O) devices 200 .
- Motherboard 100 preferably includes subsystems or processor to execute instructions such as central processing unit (CPU) 102 , a memory device, such as random access memory (RAM) 104 , input/output (I/O) controller 108 , and a memory device such as read-only memory (ROM) 106 , also known as firmware, which are interconnected by bus 110 .
- CPU central processing unit
- RAM random access memory
- I/O controller 108 input/output controller
- ROM read-only memory
- Network adapter 210 allows the computer system to send and receive data through communication devices or any other network adapter capable of transmitting and receiving data over a communications link that is either a wired, optical, or wireless data pathway. It is recognized herein that central processing unit (CPU) 102 performs instructions, operations or commands stored in ROM 106 or RAM 104 .
- CPU central processing unit
- I/O devices 212 may be connected in a similar manner, including but not limited to, devices such as microphone, speakers, flash drive, CD-ROM player, DVD player, printer, main storage device 214 , such as hard drive, and/or modem each connected via an I/O adapter. Also, although preferred, it is not necessary for all of the devices shown in FIG. 1 to be present to practice the present disclosure, as discussed below. Furthermore, the devices and subsystems may be interconnected in different configurations from that shown in FIG. 1 , or may be based on optical or gate arrays, or some combination of these elements that is capable of responding to and executing instructions or operations. The operation of a computer system such as that shown in FIG. 1 is readily known in the art and is not discussed in further detail in this application, so as not to overcomplicate the present discussion.
- Communication system 201 preferably includes one or more user systems 220 , 222 , 224 , one or more server system 260 , and network 250 , which could be, for example, the Internet, public network, private network or cloud.
- User systems 220 - 224 each preferably include a computer-readable medium, such as random-access memory, coupled to a processor.
- Communication system 201 typically includes one or more user system 220 .
- user system 220 may include one or more general-purpose computers (e.g., personal computers), one or more special purpose computers (e.g., devices specifically programmed to communicate with each other and/or the server system 260 ), a workstation, a server, a device, a digital assistant or a “smart” cellular telephone or pager, a digital camera, a component, other equipment, or some combination of these elements that is capable of responding to and executing instructions or operations.
- general-purpose computers e.g., personal computers
- special purpose computers e.g., devices specifically programmed to communicate with each other and/or the server system 260
- workstation e.g., a server, a device, a digital assistant or a “smart” cellular telephone or pager, a digital camera, a component, other equipment, or some combination of these elements that is capable of responding to and executing instructions or operations.
- server system 260 preferably includes a computer-readable medium, such as random-access memory, coupled to a processor.
- the processor executes program instructions stored in memory.
- Server system 260 may also include a number of additional external or internal devices, such as, without limitation, a mouse, a CD-ROM, a keyboard, a display, a storage device and other attributes similar to computer system 10 of FIG. 1 .
- Server system 260 may additionally include a secondary storage element, such as database 270 for storage of data and information.
- Server system 260 although depicted as a single computer system, may be implemented as a network of computer processors.
- Memory in server system 260 contains one or more executable steps, program(s), algorithm(s), or application(s) 206 (shown in FIG. 1 ).
- the server system 260 may include a web server, information server, application server, one or more general-purpose computers (e.g., personal computers), one or more special purpose computers (e.g., devices specifically programmed to communicate with each other), a workstation or other equipment, or some combination of these elements that is capable of responding to and executing instructions or operations.
- Examples of a network 250 include the Internet, cloud, analog or digital wired and wireless networks, radio, television, cable, satellite, and/or any other delivery mechanism for carrying and/or transmitting data or other information, such as to electronically transmit, store, print and/or view multidimensional digital master image(s) 303 .
- the communications link 240 may include, for example, a wired, wireless, cable, optical or satellite communication system or other pathways.
- RAM 104 main storage device 214 , and database 270 may be referred to herein as storage device(s) or memory device(s).
- subscriber devices 320 a , 320 b may be closest to or otherwise coordinated to receive and transmit data wirelessly to and from antenna A 1 .
- subscriber devices 322 a , 322 b may be closest to or otherwise coordinated to receive and transmit data wirelessly to and from antenna A 2 .
- subscriber devices 324 a , 324 b may be closest to or otherwise coordinated to receive and transmit data wirelessly to and from antenna A 3 .
- each of subscriber devices 320 a - b , 322 a - b , and 324 a - b are representative only and may in fact represent hundreds, thousands, or millions of subscriber devices, each connected to various antennas throughout a mobile telecommunications infrastructure.
- From each of antenna A 1 , antenna A 2 , and Antenna A 3 may be telecommunications lines L 1 , L 2 , and L 3 , respectively, which may reach telecom computing machine 360 for receipt and intake/storage/processing by the company using its human and machine infrastructure.
- such telecom computing machine 360 may represent one machine or, more likely, many machines at one or more locations.
- such a telecom computing machine 360 may be implemented in a cloud computing or distributive environment. Subsequent to receipt, data from each subscriber may arrive simultaneously or in quick succession as incoming data stream 401 . Further processing of incoming data is described below.
- incoming data stream 401 Having described the basics of the structure and function of example methods of computing, networks, and mobile telecommunications, incoming data stream 401 , and the exemplary methods and systems for use of incoming data stream 401 may be further illustrated and described below.
- incoming data stream 401 large scale data may be arriving at a machine within a system of the disclosure as herein described.
- incoming data stream 401 may be an 8-bit octet encoded character stream where every character consumes 1-byte space.
- some, part, or all of the character strings may be wasted space if the purpose of storing/processing this information is to quickly act upon observations about incoming data stream 401 . Therefore, some, part, or all of those character strings may be truncated, ignored, or otherwise disposed of prior to data stream tokenization step 402 .
- the incoming data stream 401 may be tokenized into this 8-byte octet encoded character stream and subsequently divided into low density and high density at sorting step 403 .
- a master list of field-legal values may be developed and compiled such that common values may appear on a master list, but less common and/or unique values or value sets for fields may not. While any threshold for density may be chosen, in a potentially preferred embodiment, 25% may be chosen as a threshold. If a given token has 25% of values or less which appear on a compiled master list, that token may be considered “Low-Density” and separated from “High-Density” tokens, or those having more than 25% of characters from the master list.
- High-Density tokens may be sorted into High-Density bins and Low-Density tokens may be sorted into Low-Density bins.
- Low-Density tokens may be assigned a new alphabet (a master list of symbols), in line with field-legal characters and my then be encoded using as many bits that are necessary for full encoding.
- an alphabet comprising [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, . . .
- ] may be used for a Low-Density field, such as IP addresses, and it may be encoded using 4-bits per character instead of the default 8-bits from the incoming data stream 401 . Since direct mapping may take far less time than performing lookups may consume, the record building may work as a pipeline where the next record is picked for direct mapping even when it contains fields which are being looked upon for the current record. Then, turning to parallel processing first stage 406 , an asynchronous parallel pipeline may facilitate low-latency turnover for records entering the stream. Records which have all their sections mapped may be pushed or steered ahead to the next stage and those that do not have all their sections mapped, for whatever reason, may be suspended or set aside to “make way” for those that do.
- asynchronous parallel pipeline may facilitate low-latency turnover for records entering the stream. Records which have all their sections mapped may be pushed or steered ahead to the next stage and those that do not have all their sections mapped, for whatever reason, may be suspended or set aside to “make way” for
- the systems and methods of the disclosure instead do not attempt to equalize or otherwise force data processing to be accomplished at a steady or even pace, but rather push ahead those capable of completing very quickly to achieve the greatest speed for processing those records. Those which consume, or are observed to consume, greater time and resources are pushed behind. This enables fast-processing records to finish even quicker in order to enable further decision-making to be based on those that can be processed very quickly. The reason may be that with time-sensitive data and decision-making thereof, a late or delayed processing may be equivalent to not processing whatsoever, and the resources may therefore be wasted on such tasks. Further details and benefits of the disclosed system and method will be recognized by those having ordinary skill in the art following additional review of the remaining Drawings and related Detailed Description below.
- FIG. 5 illustrated therein is a block diagram illustrating an exemplary physical memory unit of the disclosure.
- HTD memory unit 541 a pre-formatted memory layout with optimal data diversity is illustrated thereon.
- a block or HTD memory unit 541 may be related to a particular subscriber and may contain a self-organizing sequence of Hour to Day (HTD) and Hour of the Day (HOD) counters. Each HTD counter may be observed at the front of HTD memory unit 541 and HTD memory unit 541 may be exactly 17 bytes wide.
- HTD Hour to Day
- HTD Hour of the Day
- the HTD counter ID may consume 3 bytes
- a timestamp may consume 2 bytes
- a download volume may consume 4 bytes
- total volume may consume 4 bytes
- total duration may consume 4 bytes for a total of exactly 17 bytes for the HTD memory unit 541 .
- Each HOD counter may further precede or appear at the front of each HOD memory unit 542 and HOD memory unit 542 may be exactly 41 bytes wide.
- HOD counter ID may consume 3 bytes
- a timestamp may consume 2 bytes
- a first bin may consume 12 bytes
- a second bin may consume 12 bytes
- a third bin may consume 12 bytes, for a total of exactly 41 bytes.
- one or more bins as illustrated therein FIG. 5 as second HOD bin 543 may be sub-divided into, by way of example and not limitation, download volume consuming 4 bytes, total volume consuming 4 bytes, and total duration consuming 4 bytes.
- HTD memory unit 541 may be organized similarly or identically to exemplary second HOD bin 543 such that each have 3 4-byte sections containing download volume, total volume, and total duration.
- free space tracking may be done efficiently without using any additional bits or flags, given this pre-formatted arrangement for HTD memory unit 541 and HOD memory unit 542 .
- Counter ID for any of HTD memory unit 541 or HOD memory unit 542 equals zero (0), it may be assumed to be free space.
- Counter ID for any of HTD memory unit 541 or HOD memory unit 542 equals any non-zero number or character, said respective memory unit may be assumed to be occupied.
- HTD memory unit 541 and HOD memory unit 542 memory marking may proceed smoothly, and without using additional bits and/or flags, but rather instead relying on solely bitwise operators and equality comparison.
- a record parsing phase may occur upon receipt of incoming data stream 401 where the entire stream of bytes representing one record is captured as an 86-digit number with certain digits in lower words mapped directly from incoming records and many digits in upper words are deduced in parallel as they involve look-up and additional computation, as illustrated in FIG. 4 .
- weight assignment strategy may be implemented for category and sub-category domain values.
- Prime numbers may be assigned to category values and sub-category line items under a particular category may be assigned square-free numbers, which may be a product of main category weight, and another prime number as a local-weight.
- each subcategory weight may have exactly 4 factors including, for instance: 1, itself, category weight, and the local weight.
- each counter may capture accumulated internet data traffic statistics for a particular kind of traffic determined by the counter ID. The details may be captured into bins of 3 cells, as herein illustrated, each where the cells contain metrics, such as download volume, total volume, and total duration.
- HTD memory unit 541 may store traffic statistics since midnight of the current day until the current time and HOD memory unit 542 , in such an embodiment, may store traffic statistics since the beginning of the current hour until the present moment in time.
- each HOD memory unit 542 may possess, as illustrated herein, and capture incoming data stream 401 into these 3 bins (e.g., download volume, total volume, and total duration), similar to the HTD memory unit 541 , but may represent three subunits of time in minutes, each subunit being a factor of 60.
- one such bin in HOD memory unit 542 may represent cumulative traffic statistics for the preceding 2 minutes, while the other two bins may represent cumulative statistics for the preceding 12 minutes and preceding 20 minutes, respectively. Then, each HOD memory unit 542 for the 3 bins or subunits may capture from a total possible 12 factors of the number 60 (i.e., for each minute of the hour), 1 minute, 2 minutes, 3 minutes, 4 minutes, 5 minutes, 6 minutes, 10 minutes, 12 minutes, 15 minutes, 20 minutes, 30 minutes, and 60 minutes (each being a minutes-factor of an hour, or 60 minutes). Then the assigned weights may be included within the counter ID as described above.
- a corresponding counter ID with, for example, 38 for a date/time, such as May 20, 2021 at 17:29 may capture accumulated download megabytes, upload megabytes and total duration spent browsing, for instance FACEBOOK® by an individual subscriber between 00:00 of that day and 17:29 that day.
- Business rules may then be applied to any given data set on any given HTD memory unit 541 and/or HOD memory unit 542 . For instance, a business may be very interested in the overall consumption of health and fitness browsing time based upon a hypothetical promotion.
- a rule may be desired within the system of the disclosure such that if such browsing time exceeds 18 minutes and/or 500 MB, as an example, an alert is made to the business and/or the subscriber.
- a rule evaluation may complete a simple single pass through all counter IDs and filter only those which have counter IDs which yield no remainder when divided by the derived rule divisor obtained using numerical functions such as product, greatest common divisor (GCD), least common multiple (LCM), other simple numerical functions, the like and/or combinations thereof on individual category weights.
- counter IDs on any given HTD memory unit 541 and/or HOD memory unit 542 retain their traits even when being continually merged with other counter types, using algebraic and arithmetic characteristics.
- prime numbers and square-free numbers may yield an unambiguous scheme for determining the behavior profile of an individual despite retaining only the aggregated counter numbers, as may be more easily understood with a thorough understanding of the above and below.
- a ratio of powers of prime factors may be indicative of ratios of the underlying traffic types.
- prime factorization it may not be necessary to complete prime factorization, but instead repeated division by a prime number representing the desired traits for as long as the number is no longer cleanly divisible (i.e., having no non-integer remainder) may be sufficient to obtain the power, which may be valuable when output into the business CRM system.
- categories of user activities may be assigned prime number weights. For instance, by way of example and not limitation, Social Media might be assigned 2, Gaming might be assigned 3, Health might be assigned 5, Lifestyle might be assigned 7, Fitness might be assigned 11, and so on. Then specific activity within each category may be assigned square-free numbers.
- YouTube® might be classified as Social Media and be assigned 17, FACEBOOK® might be classified similarly and receive a 19 assignment, and WhatsApp® might be similarly classified and receive a 23 assignment.
- each may be important to later processing, which would be 2 times the square-free number selected.
- that may be 34 for YouTube®, 38 for FACEBOOK®, and 46 for WhatsApp®.
- these prime numbers which may be assigned to category values, and these square-free which may be assigned to sub-category line items under a particular category, may be multiplied to form what may be understood herein as a local-weight.
- Using such a scheme/schema may guarantee that each of the subcategory weights have exactly 4 prime factors ⁇ 1, itself, category weight and the local-weight, which may prove useful for later accessing/processing.
- divisibility and prime factorization may be utilized to develop various understandings, processes, and observations as to users and their data, which may be accomplished at much greater speeds across much more voluminous data, thanks to the method of assembly/storage of incoming data stream 401 .
- various categories and specific subcategories were chosen to obtain various local-weights
- divisibility and prime factorization and their respective utility may be better understood using this simplified example.
- Fitness received 11 and Lifestyle received 7 the product of which would be 77
- WhatsApp® subcategory received a 46 local-weight
- FIG. 6 illustrated therein is a block diagram illustrating a simplified exemplary efficient incoming data management/parsing.
- the memory layout may be further optimized according to the principles illustrated in FIG. 6 and described herein.
- a legend has been provided such that a “O” may denote HTD memory unit 541 , a “A” may denote HOD memory unit 542 (each described in detail in FIG. 5 ), and an “X” may denote unformatted memory unit 540 .
- actual positioning of counters and their related memory units may be based on the most common traffic-type, behavioral profiles, and/or the like.
- An example seed blueprint 610 is illustrated thereon FIG.
- Example profiles of Alice 640 a and Tom 650 b are further provided having a similar layout.
- initial Alice 640 a may be a subscriber having HTD YOUTUBE® counter 644 , followed by HTD social media counter 645 , and then followed by other HOD counters, HTD counters, and unformatted counters.
- initial Tom 640 a may be a subscriber having HTD POKEMON® counter 654 , followed by HTD gaming counter 655 , and then followed by other HOD counters, HTD counters, and unformatted counters.
- each blueprint may be initially only partially consumed, such that several unformatted memory units 540 may be present, then at fact-based assignment step 660 , these may be formatted if a given expectation, based on any variety of factors, indicates that upcoming arriving data from incoming data stream 401 and associated with either Alice 640 or Tom 650 may be of HOD or HTD. Then, fact-based processed Alice may be assigned HOD memory unit 542 at each unformatted memory unit 540 and Tom may be assigned HTD memory unit 541 for each unformatted memory unit 540 .
- HTD memory unit 541 and HOD memory unit 542 may be assigned as a given traffic type, using predictive algorithmic techniques based on previous user behavior, such that when a future incoming data stream 401 , and the data associated therewith, may be associated with either Alice 640 or Tom 650 may be pre-assigned into those memory units without further machine effort dedicated toward assigning traffic types. Then, at deduction step 670 , further deductions may occur. In this example, both Alice 640 and Tom 650 may begin with the same seed blueprint 610 .
- the first record for Alice 640 is Alice YOUTUBE® 640 a and for Tom 640 is Tom POKEMON® 650 b
- Alice 640 may be known to be currently browsing YOUTUBE® and streaming video thereof that service and Tom 640 may be known to be currently playing POKEMON® on his mobile device, each mobile device connected to a mobile telecommunications network.
- Such knowledge may be obtained via said mobile telecommunications data network and received as incoming data stream 401 .
- the first counters may occupy respective traffic types. Counters towards the head may be more efficient for read and write as bytes after that may be simply skipped and not parsed.
- a persona for users may be generated such that these advantages inherent in memory allocation may be leveraged to increase the speed at which later observations may be made, such as pre-allocation and/or pre-determination of unformatted memory units 540 into formatted spaces, based on for instance, persona categories. Further details and benefits of such a self-organization and preformatting system and method will be recognized by those having ordinary skill in the art following additional review of the remaining Drawings and related Detailed Description below.
- Hypothetical persona matrix 700 is used herein as an exemplary method of determining a persona for a mobile telecommunications data user in order to implement the systems and methods of the disclosure.
- Hypothetical persona matrix 700 may comprise observations of users, based on observed behaviors during a user's interaction(s) with the mobile telecommunications infrastructure as incoming data stream 401 .
- these may include the opposite pairs of dispersed behavior versus focused behavior and intense behavior versus sporadic behavior.
- these behaviors may each be determined, based on the user activity, and assigned into one of intense/dispersed behavior category (ID) 701 , sporadic/dispersed behavior category (SD) 702 , intense/focused behavior category (IF) 703 , and finally sporadic/focused behavior category (SF) 704 .
- ID intense/dispersed behavior category
- SD sporadic/dispersed behavior category
- IF intense/focused behavior category
- SF sporadic/focused behavior category
- these may comprise four (4) total personas within the hypothetical persona matrix 700 such that any particular user may, for at least a period of time, be classified into one category.
- those users assigned that behavior category may include those users who use the internet in dedicated chunks of time, and when they do so, they routinely use it for approximately an hour.
- Consumption of data may occur during specific times during the day, but may not consistently consume data throughout the day. If one were to chart an intense behavior user's data consumption throughout the day, one may observe periods of great data consumption and periods having none or very little.
- a sporadic behavior may include internet users who may consume a more consistent amount of data throughout the day, but do so in smaller time-period “chunks”, such that the consumption chart may reflect smaller and narrower peaks, but with a more consistent amount of consumption on average throughout a given day.
- a focused behavior may include users who may consume data in one or few ways (e.g., games, music streaming, etc.) and a dispersed behavior may include user who may consume data in more varying ways throughout a given day.
- FIG. 8 therein illustrated is a flowchart of a proposed exemplary subscriber profile assessment cycle.
- new profile step 801 information is received in incoming data stream 401 related to a user within, for instance, a mobile telecommunication network, but for whom the system of the disclosure has not yet proceeded to implement the profile information as herein described.
- allocation step 802 is immediately performed and a seed persona or seed blueprint 610 is assigned based on the characteristics of user behavior as described above. In a potentially preferred embodiment of the disclosed system, those may be ID 701 , SD 702 , IF 703 , and SF 704 as described in detail above.
- Milestone step 803 may occur, for instance, after 500 MB of data has been consumed by the user, the user has transitioned among 3 various traffic-types, or 3 hours has passed.
- reassessment step 804 may occur.
- Various bases may exist to inform whether re-allocation is needed at reassessment step 804 and may occur based on accrued knowledge 870 . After an assessment has occurred at reassessment step 804 , then the systems of the disclosure may determine that a change is needed at change step 805 .
- unformatted sections which have arrived via incoming data stream 401 related to the user may be formatted based on traffic types that may be determined to be better suited based on clustered data at formatting step 806 , and allocated as such. Even in situations where behavior remains constant, resources may be dedicated to re-cycling the user through incremental re-assessment step 807 , by simply cycling to reassessment step 804 . Additionally, this reassessment step 807 may occur incrementally, for instance, at every 5 GB of data consumption and/or every day.
- the cycling of persona may be based on fact and/or rule-based decisioning, heuristics-based decisioning, and/or knowledge/learning-based decisioning, as may be known to those having ordinary skill in the art.
- the decisioning itself may be based around receiving and/or implementing the optimal traffic-types around the head of HTD memory unit and/or 541 HOD memory unit 542 .
- pre-formatting the optimal expected traffic-types for each user/subscriber based on a hypothetical persona matrix 700 may be important.
- achieving the optimal density between HTD memory unit 541 and/or HOD memory unit 542 may achieve further benefits in a system of the disclosure.
- FIG. 9 therein illustrated and herein described may be a diagram illustrating an exemplary switching process to designate certain modes of operation of the system of the disclosure.
- the term Socialist/Capitalist Switch 900 has been coined and therein illustrated. Certain concepts are described herein as a background to the development of such a proposed switch.
- a system of the disclosure may contain such a Socialist/Capitalist Switch 900 in order to track certain metrics that assist the system of the disclosure assess the effectiveness of tracking certain traffic-types and certain users and/or personas. These may include monthly bills having thousands of records/month per user or subscriber, monthly bills having traffic types tracked, processed record volumes and/or events tripped, number of offers activated, and entropy scores.
- An entropy score may measure the minimum number of distinct traffic types that consume, for instance 70% of a particular subscriber's usage over a time period or, alternatively, while at a specific location or general region. Subscribers that may exhibit very random-access patterns or user behavior may receive a high entropy value because many traffic types may be need to consume that level of total user consumption (e.g., 70%). If, by default, every user is treated equal and all traffic types are also treated equal, Socialist mode 930 may be said to be occurring and/or implemented. In Socialist mode 930 , fairness among users and traffic types may occur with unbiased, uniform tracking.
- Socialist mode 930 may not be ideal, but resources may not be dedicated specifically to re-assessment, memory rearrangement, etc. Instead, it may be beneficial in some circumstances to target users or subscribers who have a greater propensity to act upon a specific marketing promotion or offer, transmitted directly to the user via the mobile device upon which they consume data.
- a switch from a potentially preferred default, or Socialist mode 930 may occur to transition or switch into Capitalist mode 920 . This may occur automatically when metrics fall or rise to a certain threshold.
- Capitalist mode 920 may be thought of by those having ordinary skill in the art as a focus on return on investment (ROI) and can assist in reducing waste on computing resources by selectively targeting only a subset of subscribers likely to act upon an offer or promotion and do so with fewer resources and at a faster response time.
- ROI focus on return on investment
- a real-time streaming aggregation and event check framework may be developed using these disclosed concepts, machines, systems, methods, and other features of the disclosure.
- ZMQ zero-message queue
- OMQ asynchronous messaging platform and using facilities consumption of telecommunications grade deep packet inspection data at real time and by aggregating them on-the-fly, many benefits may be observable to those having ordinary skill in the art.
- someone without any social media activity would not be contacted with such offers, and may only receive those related to gaming, if such behavior and/or persona is relevant to such a subscriber.
- This may support real time monitoring of IP traffic by type to assist in reaching out to audience(s) consuming specific data and/or content and meeting certain additional criterion.
- This may also be thought of by those having ordinary skill in the art as a holistic data analysis and monitoring system that consumes DPI data by parsing and translating into internal 86-digit numbers, then, labelling such traffic using mapping rules and weights that allow unambiguous traffic-type determination, accumulating such real-time information into efficiently laid out HTD memory unit 541 and/or HOD memory unit 542 and the counter IDs thereon, performing composite event checks using single modulo operation(s) and then passing over to other business modules which may be capable of directly soliciting subscribers for campaign management systems, and in potentially preferred embodiments, generating real-time offers that are highly relevant to individual subscribers' or subscriber groups' contextual behavior, and finally communicating the same to either the business and/or the subscriber.
- the disclosed system and method for efficient numerical data model, memory management and streaming aggregation cumulative event check in large semi-structured datasets may model the incoming data stream 401 as a large hexadecimal number thus facilitating simple math/arithmetic on related fields of the records realized using numerical operations on groups of digits of the modelled number.
- weights By assigning such weights to categories of labelled traffic using prime numbers and subcategories using square free numbers, users of the disclosed system may be empowered to easily determine the lineage of any individual counter ID unambiguously from a plurality of counter ID number(s) using basic rules of divisibility.
- HOD memory unit(s) 542 and HTD memory unit(s) 541 having stored thereon counter IDs with embedded free-space tracking and memory management By organizing accumulated traffic statistics into an efficient in memory layout formed using HOD memory unit(s) 542 and HTD memory unit(s) 541 having stored thereon counter IDs with embedded free-space tracking and memory management, further benefits may be achieved.
- the layout(s) of counter IDs stored upon HOD memory unit(s) 542 may allow, enable, or make simple the tracking of any 3 factors of 60 minutes cohesively in a single counter with 3 bins each having 3 cells.
- compact encoding may be achieved and may make concrete abstract behavior into numbers, which can in turn rely on numerical methods, such as divisibility and the like, in order to return to a business unit and/or approach directly using a connected system the subscribers relevant to a specific business-desired promotion/offer.
- numerical methods such as divisibility and the like
- Parsing cumulative labelling speeds of more than 300,000 records per second per core have been achieved having aggregation cumulative event trip speeds of 60,000 records per second per core on an INTEL® XEON® 2.5 GHz core system.
- processing speeds of 750,000 records per second may be sustained to process over 60 billion streaming records using only 2 units of INTEL® XEON® ES-2690 at 2.70 GHz with 8 cores and 256 GB RAM.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/818,114 US11863407B2 (en) | 2021-08-06 | 2022-08-08 | System and method for efficient numerical data model, memory management, streaming aggregation and contextual event checks in large semi-structured datasets |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163230263P | 2021-08-06 | 2021-08-06 | |
US17/818,114 US11863407B2 (en) | 2021-08-06 | 2022-08-08 | System and method for efficient numerical data model, memory management, streaming aggregation and contextual event checks in large semi-structured datasets |
Publications (2)
Publication Number | Publication Date |
---|---|
US20230044674A1 US20230044674A1 (en) | 2023-02-09 |
US11863407B2 true US11863407B2 (en) | 2024-01-02 |
Family
ID=85152111
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/818,114 Active 2042-09-29 US11863407B2 (en) | 2021-08-06 | 2022-08-08 | System and method for efficient numerical data model, memory management, streaming aggregation and contextual event checks in large semi-structured datasets |
Country Status (1)
Country | Link |
---|---|
US (1) | US11863407B2 (en) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060184977A1 (en) | 2003-03-21 | 2006-08-17 | Daniel Mueller | Method and apparatus for broadcast communications |
US7130907B2 (en) | 1999-12-23 | 2006-10-31 | Markport Limited | Wireless mobility services platform with package-based database structure |
US7263537B1 (en) | 2004-02-09 | 2007-08-28 | Unisys Corporation | System and method for creating multiple QUIESCE database copies at a single server |
US7526514B2 (en) | 2004-12-30 | 2009-04-28 | Emc Corporation | Systems and methods for dynamic data backup |
US7822868B2 (en) * | 2008-01-30 | 2010-10-26 | Alcatel Lucent | Method and apparatus for targeted content delivery based on RSS feed analysis |
US20110040734A1 (en) | 2009-08-14 | 2011-02-17 | International Business Machines Corporation | Processing of streaming data with keyed aggregation |
US8498943B2 (en) | 1999-10-18 | 2013-07-30 | Stamps.Com | Secure and recoverable database for on-line value-bearing item system |
US9979994B2 (en) | 2010-06-17 | 2018-05-22 | Microsoft Technology Licensing, Llc | Contextual based information aggregation system |
US10082979B2 (en) | 2013-08-06 | 2018-09-25 | International Business Machines Corporation | Input/output operation management in a device mirror relationship |
US20180285201A1 (en) | 2017-03-28 | 2018-10-04 | Commvault Systems, Inc. | Backup operations for large databases using live synchronization |
US10243849B2 (en) * | 2013-04-26 | 2019-03-26 | At&T Intellectual Property I, L.P. | Distributed methodology for peer-to-peer transmission of stateful packet flows |
US10698882B2 (en) | 2017-03-17 | 2020-06-30 | International Business Machines Corporation | Data compartments for read/write activity in a standby database |
US11366859B2 (en) * | 2017-12-30 | 2022-06-21 | Target Brands, Inc. | Hierarchical, parallel models for extracting in real time high-value information from data streams and system and method for creation of same |
-
2022
- 2022-08-08 US US17/818,114 patent/US11863407B2/en active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8498943B2 (en) | 1999-10-18 | 2013-07-30 | Stamps.Com | Secure and recoverable database for on-line value-bearing item system |
US7130907B2 (en) | 1999-12-23 | 2006-10-31 | Markport Limited | Wireless mobility services platform with package-based database structure |
US20060184977A1 (en) | 2003-03-21 | 2006-08-17 | Daniel Mueller | Method and apparatus for broadcast communications |
US7263537B1 (en) | 2004-02-09 | 2007-08-28 | Unisys Corporation | System and method for creating multiple QUIESCE database copies at a single server |
US7526514B2 (en) | 2004-12-30 | 2009-04-28 | Emc Corporation | Systems and methods for dynamic data backup |
US7822868B2 (en) * | 2008-01-30 | 2010-10-26 | Alcatel Lucent | Method and apparatus for targeted content delivery based on RSS feed analysis |
US20110040734A1 (en) | 2009-08-14 | 2011-02-17 | International Business Machines Corporation | Processing of streaming data with keyed aggregation |
US9979994B2 (en) | 2010-06-17 | 2018-05-22 | Microsoft Technology Licensing, Llc | Contextual based information aggregation system |
US10243849B2 (en) * | 2013-04-26 | 2019-03-26 | At&T Intellectual Property I, L.P. | Distributed methodology for peer-to-peer transmission of stateful packet flows |
US10082979B2 (en) | 2013-08-06 | 2018-09-25 | International Business Machines Corporation | Input/output operation management in a device mirror relationship |
US10698882B2 (en) | 2017-03-17 | 2020-06-30 | International Business Machines Corporation | Data compartments for read/write activity in a standby database |
US20180285201A1 (en) | 2017-03-28 | 2018-10-04 | Commvault Systems, Inc. | Backup operations for large databases using live synchronization |
US11366859B2 (en) * | 2017-12-30 | 2022-06-21 | Target Brands, Inc. | Hierarchical, parallel models for extracting in real time high-value information from data streams and system and method for creation of same |
Non-Patent Citations (3)
Title |
---|
Geddes et al., "Algorithms for Computer Algebra", Kluwer Academic Publishers, Norwell, MA, USA, 1992, 304 pages. |
Pappalardi, "A Survey on κ-Freeness", Dipartimento di Matematica, Universita' Roma Tre, Largo S. L. Muri-aldo 1, Roma, 00146—Italy, 22 pages. |
Richards, "Algorithms for Factoring Square-Free Polynomials over Finite Fields" (Master's thesis), Aug. 7, 2009, Canada: Simon Fraser University, 30 pages. |
Also Published As
Publication number | Publication date |
---|---|
US20230044674A1 (en) | 2023-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10861023B2 (en) | Method and system for question prioritization based on analysis of the question content and predicted asker engagement before answer content is generated | |
WO2015055067A1 (en) | Method and apparatus for pushing messages | |
US12159305B2 (en) | Content-recommendation method and apparatus, electronic device, and system | |
US20070214207A1 (en) | Method and system for accurate issuance of data information | |
CN110300084B (en) | IP address-based portrait method and apparatus, electronic device, and readable medium | |
CN108574706A (en) | Method and device for pushing media files | |
CN101576988A (en) | Credit data interactive system and interactive method | |
CN110392155B (en) | Notification message display and processing method, device and equipment | |
Jia et al. | Telecom Big Data Based Precise User Classification Scheme | |
CN111585798B (en) | Network resource parameter configuration method, device and computer readable storage medium | |
US20160165052A1 (en) | Automatic contact center expansion and contraction | |
US20110231229A1 (en) | Hybrid Software Component and Service Catalog | |
CN118780837A (en) | A method and system for constructing a personalized traffic user portrait application based on big data processing and multi-dimensional features | |
US11093951B1 (en) | System and method for responding to search queries using customer self-help systems associated with a plurality of data management systems | |
CN108694609B (en) | Advertisement network alliance platform | |
CN106570005A (en) | Database cleaning method and device | |
US11863407B2 (en) | System and method for efficient numerical data model, memory management, streaming aggregation and contextual event checks in large semi-structured datasets | |
CN110837511A (en) | Data processing method, system and related equipment | |
CN106933971B (en) | Data analysis statistical system based on scientific and technological service | |
CN111127077A (en) | Recommendation method and device based on stream computing | |
CN113297436B (en) | User policy distribution method and device based on relational graph network and electronic equipment | |
Diapouli et al. | Behavioural Analytics using Process Mining in On-line Advertising. | |
CN109241417A (en) | User's awakening method and device calculate equipment and storage medium | |
CN114819590A (en) | Intelligent strategy recommendation method, device, equipment and storage medium | |
CN113935650A (en) | Enterprise management method and system based on big data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY |
|
AS | Assignment |
Owner name: PELATRO PTE. LTD., SINGAPORE Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KRISHNA, ARUN KUMAR;PRABHAKAR, PRAMOD KONANDUR;REEL/FRAME:061282/0476 Effective date: 20220808 |
|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO SMALL (ORIGINAL EVENT CODE: SMAL); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |